Example usage for org.springframework.mock.http.server.reactive MockServerHttpResponse MockServerHttpResponse

List of usage examples for org.springframework.mock.http.server.reactive MockServerHttpResponse MockServerHttpResponse

Introduction

In this page you can find the example usage for org.springframework.mock.http.server.reactive MockServerHttpResponse MockServerHttpResponse.

Prototype

public MockServerHttpResponse() 

Source Link

Usage

From source file:org.springframework.test.web.reactive.server.HttpHandlerConnector.java

@Override
public Mono<ClientHttpResponse> connect(HttpMethod httpMethod, URI uri,
        Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {

    MonoProcessor<ClientHttpResponse> result = MonoProcessor.create();

    MockClientHttpRequest mockClientRequest = new MockClientHttpRequest(httpMethod, uri);
    MockServerHttpResponse mockServerResponse = new MockServerHttpResponse();

    mockClientRequest.setWriteHandler(requestBody -> {
        log("Invoking HttpHandler for ", httpMethod, uri);
        ServerHttpRequest mockServerRequest = adaptRequest(mockClientRequest, requestBody);
        ServerHttpResponse responseToUse = prepareResponse(mockServerResponse, mockServerRequest);
        this.handler.handle(mockServerRequest, responseToUse).subscribe(aVoid -> {
        }, result::onError);/*  ww  w .  jav  a2s  .  co m*/
        return Mono.empty();
    });

    mockServerResponse.setWriteHandler(responseBody -> {
        log("Creating client response for ", httpMethod, uri);
        result.onNext(adaptResponse(mockServerResponse, responseBody));
        return Mono.empty();
    });

    log("Writing client request for ", httpMethod, uri);
    requestCallback.apply(mockClientRequest).subscribe(aVoid -> {
    }, result::onError);

    return result;
}