1
0
mirror of synced 2026-08-05 09:47:05 +00:00

CompositeServerHttpHeadersWriter Executes Sequentially

Fixes gh-7731
This commit is contained in:
Rob Winch
2019-12-12 11:23:39 -06:00
parent bd6ff1f319
commit 29eb8b9177
2 changed files with 39 additions and 20 deletions
@@ -15,13 +15,12 @@
*/
package org.springframework.security.web.server.header;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
/**
* Combines multiple {@link ServerHttpHeadersWriter} instances into a single instance.
@@ -42,10 +41,8 @@ public class CompositeServerHttpHeadersWriter implements ServerHttpHeadersWriter
@Override
public Mono<Void> writeHttpHeaders(ServerWebExchange exchange) {
List<Mono<Void>> results = new ArrayList<>();
for (ServerHttpHeadersWriter writer : writers) {
results.add(writer.writeHttpHeaders(exchange));
}
return Mono.when(results);
return Flux.fromIterable(this.writers)
.concatMap(w -> w.writeHttpHeaders(exchange))
.then();
}
}