org.springframework.http.server.reactive.HttpHandler Java Examples

The following examples show how to use org.springframework.http.server.reactive.HttpHandler. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: WebHttpHandlerBuilderTests.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Test  // SPR-15074
public void orderedWebFilterBeans() {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(OrderedWebFilterBeanConfig.class);
	context.refresh();

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(context).build();
	assertTrue(httpHandler instanceof HttpWebHandlerAdapter);
	assertSame(context, ((HttpWebHandlerAdapter) httpHandler).getApplicationContext());

	MockServerHttpRequest request = MockServerHttpRequest.get("/").build();
	MockServerHttpResponse response = new MockServerHttpResponse();
	httpHandler.handle(request, response).block(ofMillis(5000));

	assertEquals("FilterB::FilterA", response.getBodyAsString().block(ofMillis(5000)));
}
 
Example #2
Source File: NettyTcpServerFactory.java    From spring-boot-protocol with Apache License 2.0 6 votes vote down vote up
/**
 * Reactive container (temporarily replaced by servlets)
 * @param httpHandler httpHandler
 * @return NettyTcpServer
 */
@Override
public WebServer getWebServer(HttpHandler httpHandler) {
    try {
        ServletContext servletContext = getServletContext();
        if(servletContext != null) {
            ServletRegistration.Dynamic servletRegistration = servletContext.addServlet("default", new ServletHttpHandlerAdapter(httpHandler));
            servletRegistration.setAsyncSupported(true);
            servletRegistration.addMapping("/");
        }

        //Server port
        InetSocketAddress serverAddress = getServerSocketAddress(getAddress(),getPort());
        return new NettyTcpServer(serverAddress, properties, protocolHandlers,serverListeners,channelHandlerSupplier);
    }catch (Exception e){
        throw new IllegalStateException(e.getMessage(),e);
    }
}
 
Example #3
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Test
public void toHttpHandlerHandlerThrowsException() {
	HandlerFunction<ServerResponse> handlerFunction =
			request -> {
				throw new IllegalStateException();
			};
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, httpResponse.getStatusCode());
}
 
Example #4
Source File: WebHttpHandlerBuilder.java    From spring-analysis-note with MIT License 6 votes vote down vote up
/**
 * Build the {@link HttpHandler}.
 */
public HttpHandler build() {

	WebHandler decorated = new FilteringWebHandler(this.webHandler, this.filters);
	decorated = new ExceptionHandlingWebHandler(decorated,  this.exceptionHandlers);

	HttpWebHandlerAdapter adapted = new HttpWebHandlerAdapter(decorated);
	if (this.sessionManager != null) {
		adapted.setSessionManager(this.sessionManager);
	}
	if (this.codecConfigurer != null) {
		adapted.setCodecConfigurer(this.codecConfigurer);
	}
	if (this.localeContextResolver != null) {
		adapted.setLocaleContextResolver(this.localeContextResolver);
	}
	if (this.forwardedHeaderTransformer != null) {
		adapted.setForwardedHeaderTransformer(this.forwardedHeaderTransformer);
	}
	if (this.applicationContext != null) {
		adapted.setApplicationContext(this.applicationContext);
	}
	adapted.afterPropertiesSet();

	return adapted;
}
 
Example #5
Source File: StandaloneApplication.java    From Hands-On-Reactive-Programming-in-Spring-5 with MIT License 6 votes vote down vote up
public static void main(String... args) {
    long start = System.currentTimeMillis();
    HttpHandler httpHandler = RouterFunctions.toHttpHandler(routes(
        new BCryptPasswordEncoder(18)
    ));
    ReactorHttpHandlerAdapter reactorHttpHandler = new ReactorHttpHandlerAdapter(httpHandler);

    DisposableServer server = HttpServer.create()
                                        .host("localhost")
                                        .port(8080)
                                        .handle(reactorHttpHandler)
                                        .bindNow();

    LOGGER.debug("Started in " + (System.currentTimeMillis() - start) + " ms");

    server.onDispose()
          .block();
}
 
Example #6
Source File: AbstractReactiveWebInitializer.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
	String servletName = getServletName();
	Assert.hasLength(servletName, "getServletName() must not return null or empty");

	ApplicationContext applicationContext = createApplicationContext();
	Assert.notNull(applicationContext, "createApplicationContext() must not return null");

	refreshApplicationContext(applicationContext);
	registerCloseListener(servletContext, applicationContext);

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(applicationContext).build();
	ServletHttpHandlerAdapter servlet = new ServletHttpHandlerAdapter(httpHandler);

	ServletRegistration.Dynamic registration = servletContext.addServlet(servletName, servlet);
	if (registration == null) {
		throw new IllegalStateException("Failed to register servlet with name '" + servletName + "'. " +
				"Check if there is another servlet registered under the same name.");
	}

	registration.setLoadOnStartup(1);
	registration.addMapping(getServletMapping());
	registration.setAsyncSupported(true);
}
 
Example #7
Source File: RSocketNettyReactiveWebServerFactory.java    From spring-boot-rsocket with Apache License 2.0 6 votes vote down vote up
@SuppressWarnings("unchecked")
private RSocketFactory.Start<CloseableChannel> createRSocketStarter(HttpHandler httpHandler) {
	RSocketFactory.ServerRSocketFactory rSocketFactory = applyCustomizers(RSocketFactory.receive());


	HttpServer httpServer = createHttpServer();
	ReactorHttpHandlerAdapter handlerAdapter = new ReactorHttpHandlerAdapter(httpHandler);

	return rSocketFactory
		.acceptor(socketAcceptor)
		.transport((ServerTransport) new WebsocketRouteTransport(
			httpServer,
			r -> r.route(hsr -> !("/" + hsr.path()).equals(path), handlerAdapter),
			path
		));
}
 
Example #8
Source File: WebHttpHandlerBuilderTests.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Test  // SPR-15074
public void orderedWebFilterBeans() {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(OrderedWebFilterBeanConfig.class);
	context.refresh();

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(context).build();
	assertTrue(httpHandler instanceof HttpWebHandlerAdapter);
	assertSame(context, ((HttpWebHandlerAdapter) httpHandler).getApplicationContext());

	MockServerHttpRequest request = MockServerHttpRequest.get("/").build();
	MockServerHttpResponse response = new MockServerHttpResponse();
	httpHandler.handle(request, response).block(ofMillis(5000));

	assertEquals("FilterB::FilterA", response.getBodyAsString().block(ofMillis(5000)));
}
 
Example #9
Source File: RouterFunctionsTests.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Test
public void toHttpHandlerHandlerThrowsException() {
	HandlerFunction<ServerResponse> handlerFunction =
			request -> {
				throw new IllegalStateException();
			};
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, httpResponse.getStatusCode());
}
 
Example #10
Source File: WebHttpHandlerBuilder.java    From java-technology-stack with MIT License 6 votes vote down vote up
/**
 * Build the {@link HttpHandler}.
 */
public HttpHandler build() {

	WebHandler decorated = new FilteringWebHandler(this.webHandler, this.filters);
	decorated = new ExceptionHandlingWebHandler(decorated,  this.exceptionHandlers);

	HttpWebHandlerAdapter adapted = new HttpWebHandlerAdapter(decorated);
	if (this.sessionManager != null) {
		adapted.setSessionManager(this.sessionManager);
	}
	if (this.codecConfigurer != null) {
		adapted.setCodecConfigurer(this.codecConfigurer);
	}
	if (this.localeContextResolver != null) {
		adapted.setLocaleContextResolver(this.localeContextResolver);
	}
	if (this.forwardedHeaderTransformer != null) {
		adapted.setForwardedHeaderTransformer(this.forwardedHeaderTransformer);
	}
	if (this.applicationContext != null) {
		adapted.setApplicationContext(this.applicationContext);
	}
	adapted.afterPropertiesSet();

	return adapted;
}
 
Example #11
Source File: AbstractReactiveWebInitializer.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
	String servletName = getServletName();
	Assert.hasLength(servletName, "getServletName() must not return null or empty");

	ApplicationContext applicationContext = createApplicationContext();
	Assert.notNull(applicationContext, "createApplicationContext() must not return null");

	refreshApplicationContext(applicationContext);
	registerCloseListener(servletContext, applicationContext);

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(applicationContext).build();
	ServletHttpHandlerAdapter servlet = new ServletHttpHandlerAdapter(httpHandler);

	ServletRegistration.Dynamic registration = servletContext.addServlet(servletName, servlet);
	if (registration == null) {
		throw new IllegalStateException("Failed to register servlet with name '" + servletName + "'. " +
				"Check if there is another servlet registered under the same name.");
	}

	registration.setLoadOnStartup(1);
	registration.addMapping(getServletMapping());
	registration.setAsyncSupported(true);
}
 
Example #12
Source File: WebHttpHandlerBuilderTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test  // SPR-15074
public void orderedWebExceptionHandlerBeans() {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(OrderedExceptionHandlerBeanConfig.class);
	context.refresh();

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(context).build();
	MockServerHttpRequest request = MockServerHttpRequest.get("/").build();
	MockServerHttpResponse response = new MockServerHttpResponse();
	httpHandler.handle(request, response).block(ofMillis(5000));

	assertEquals("ExceptionHandlerB", response.getBodyAsString().block(ofMillis(5000)));
}
 
Example #13
Source File: MultipartIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected HttpHandler createHttpHandler() {
	AnnotationConfigApplicationContext wac = new AnnotationConfigApplicationContext();
	wac.register(TestConfiguration.class);
	wac.refresh();
	return WebHttpHandlerBuilder.webHandler(new DispatcherHandler(wac)).build();
}
 
Example #14
Source File: SimpleUrlHandlerMappingIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected HttpHandler createHttpHandler() {
	AnnotationConfigApplicationContext wac = new AnnotationConfigApplicationContext();
	wac.register(WebConfig.class);
	wac.refresh();

	return WebHttpHandlerBuilder.webHandler(new DispatcherHandler(wac))
			.exceptionHandler(new ResponseStatusExceptionHandler())
			.build();
}
 
Example #15
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerHandlerResponseStatusException() {
	HandlerFunction<ServerResponse> handlerFunction =
			request -> Mono.error(new ResponseStatusException(HttpStatus.NOT_FOUND, "Not found"));
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.NOT_FOUND, httpResponse.getStatusCode());
}
 
Example #16
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerHandlerThrowResponseStatusExceptionInResponseWriteTo() {
	HandlerFunction<ServerResponse> handlerFunction =
			// Mono.<ServerResponse> is required for compilation in Eclipse
			request -> Mono.just(new ServerResponse() {
				@Override
				public HttpStatus statusCode() {
					return HttpStatus.OK;
				}
				@Override
				public HttpHeaders headers() {
					return new HttpHeaders();
				}
				@Override
				public MultiValueMap<String, ResponseCookie> cookies() {
					return new LinkedMultiValueMap<>();
				}
				@Override
				public Mono<Void> writeTo(ServerWebExchange exchange, Context context) {
					throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Not found");
				}
			});
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.NOT_FOUND, httpResponse.getStatusCode());
}
 
Example #17
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerHandlerReturnResponseStatusExceptionInResponseWriteTo() {
	HandlerFunction<ServerResponse> handlerFunction =
			// Mono.<ServerResponse> is required for compilation in Eclipse
			request -> Mono.just(new ServerResponse() {
				@Override
				public HttpStatus statusCode() {
					return HttpStatus.OK;
				}
				@Override
				public HttpHeaders headers() {
					return new HttpHeaders();
				}
				@Override
				public MultiValueMap<String, ResponseCookie> cookies() {
					return new LinkedMultiValueMap<>();
				}
				@Override
				public Mono<Void> writeTo(ServerWebExchange exchange, Context context) {
					return Mono.error(new ResponseStatusException(HttpStatus.NOT_FOUND, "Not found"));
				}
			});
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.NOT_FOUND, httpResponse.getStatusCode());
}
 
Example #18
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerWebFilter() {
	AtomicBoolean filterInvoked = new AtomicBoolean();

	WebFilter webFilter = new WebFilter() {
		@Override
		public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
			filterInvoked.set(true);
			return chain.filter(exchange);
		}
	};

	HandlerFunction<ServerResponse> handlerFunction = request -> ServerResponse.accepted().build();
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HandlerStrategies handlerStrategies = HandlerStrategies.builder()
			.webFilter(webFilter).build();

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction, handlerStrategies);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.ACCEPTED, httpResponse.getStatusCode());

	assertTrue(filterInvoked.get());
}
 
Example #19
Source File: SseIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected HttpHandler createHttpHandler() {
	this.wac = new AnnotationConfigApplicationContext();
	this.wac.register(TestConfiguration.class);
	this.wac.refresh();

	return WebHttpHandlerBuilder.webHandler(new DispatcherHandler(this.wac)).build();
}
 
Example #20
Source File: JacksonStreamingIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected HttpHandler createHttpHandler() {
	this.wac = new AnnotationConfigApplicationContext();
	this.wac.register(TestConfiguration.class);
	this.wac.refresh();

	return WebHttpHandlerBuilder.webHandler(new DispatcherHandler(this.wac)).build();
}
 
Example #21
Source File: ContextPathIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void multipleWebFluxApps() throws Exception {
	AnnotationConfigApplicationContext context1 = new AnnotationConfigApplicationContext();
	context1.register(WebAppConfig.class);
	context1.refresh();

	AnnotationConfigApplicationContext context2 = new AnnotationConfigApplicationContext();
	context2.register(WebAppConfig.class);
	context2.refresh();

	HttpHandler webApp1Handler = WebHttpHandlerBuilder.applicationContext(context1).build();
	HttpHandler webApp2Handler = WebHttpHandlerBuilder.applicationContext(context2).build();

	ReactorHttpServer server = new ReactorHttpServer();
	server.registerHttpHandler("/webApp1", webApp1Handler);
	server.registerHttpHandler("/webApp2", webApp2Handler);
	server.afterPropertiesSet();
	server.start();

	try {
		RestTemplate restTemplate = new RestTemplate();
		String actual;

		String url = "http://localhost:" + server.getPort() + "/webApp1/test";
		actual = restTemplate.getForObject(url, String.class);
		assertEquals("Tested in /webApp1", actual);

		url = "http://localhost:" + server.getPort() + "/webApp2/test";
		actual = restTemplate.getForObject(url, String.class);
		assertEquals("Tested in /webApp2", actual);
	}
	finally {
		server.stop();
	}
}
 
Example #22
Source File: ContextPathIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void servletPathMapping() throws Exception {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(WebAppConfig.class);
	context.refresh();

	File base = new File(System.getProperty("java.io.tmpdir"));
	TomcatHttpServer server = new TomcatHttpServer(base.getAbsolutePath());
	server.setContextPath("/app");
	server.setServletMapping("/api/*");

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(context).build();
	server.setHandler(httpHandler);

	server.afterPropertiesSet();
	server.start();

	try {
		RestTemplate restTemplate = new RestTemplate();
		String actual;

		String url = "http://localhost:" + server.getPort() + "/app/api/test";
		actual = restTemplate.getForObject(url, String.class);
		assertEquals("Tested in /app/api", actual);
	}
	finally {
		server.stop();
	}
}
 
Example #23
Source File: DispatcherHandlerIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected HttpHandler createHttpHandler() {
	AnnotationConfigApplicationContext wac = new AnnotationConfigApplicationContext();
	wac.register(TestConfiguration.class);
	wac.refresh();

	return WebHttpHandlerBuilder.webHandler(new DispatcherHandler(wac)).build();
}
 
Example #24
Source File: WebHttpHandlerBuilderTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void configWithoutFilters() {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(NoFilterConfig.class);
	context.refresh();

	HttpHandler httpHandler = WebHttpHandlerBuilder.applicationContext(context).build();
	MockServerHttpRequest request = MockServerHttpRequest.get("/").build();
	MockServerHttpResponse response = new MockServerHttpResponse();
	httpHandler.handle(request, response).block(ofMillis(5000));

	assertEquals("handled", response.getBodyAsString().block(ofMillis(5000)));
}
 
Example #25
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerHandlerReturnsException() {
	HandlerFunction<ServerResponse> handlerFunction =
			request -> Mono.error(new IllegalStateException());
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, httpResponse.getStatusCode());
}
 
Example #26
Source File: HttpServerTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Before
public void start() throws Exception {
	HttpHandler httpHandler = RouterFunctions.toHttpHandler(
			route(GET("/test"), request -> ServerResponse.ok().syncBody("It works!")));

	this.server = new ReactorHttpServer();
	this.server.setHandler(httpHandler);
	this.server.afterPropertiesSet();
	this.server.start();

	this.client = WebTestClient.bindToServer()
			.baseUrl("http://localhost:" + this.server.getPort())
			.build();
}
 
Example #27
Source File: VertxReactiveWebServerFactory.java    From vertx-spring-boot with Apache License 2.0 5 votes vote down vote up
@Override
public WebServer getWebServer(HttpHandler httpHandler) {
    HttpServerOptions httpServerOptions = customizeHttpServerOptions(properties.getHttpServerOptions());
    VertxHttpHandlerAdapter handler = new VertxHttpHandlerAdapter(httpHandler);

    return new VertxWebServer(vertx, httpServerOptions, handler);
}
 
Example #28
Source File: HttpServerTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Before
public void start() throws Exception {
	HttpHandler httpHandler = RouterFunctions.toHttpHandler(
			route(GET("/test"), request -> ServerResponse.ok().syncBody("It works!")));

	this.server = new ReactorHttpServer();
	this.server.setHandler(httpHandler);
	this.server.afterPropertiesSet();
	this.server.start();

	this.client = WebTestClient.bindToServer()
			.baseUrl("http://localhost:" + this.server.getPort())
			.build();
}
 
Example #29
Source File: AbstractWebSocketIntegrationTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
private HttpHandler createHttpHandler() {
	AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
	context.register(DispatcherConfig.class, this.serverConfigClass);
	context.register(getWebConfigClass());
	context.refresh();
	return WebHttpHandlerBuilder.applicationContext(context).build();
}
 
Example #30
Source File: RouterFunctionsTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void toHttpHandlerNormal() {
	HandlerFunction<ServerResponse> handlerFunction = request -> ServerResponse.accepted().build();
	RouterFunction<ServerResponse> routerFunction =
			RouterFunctions.route(RequestPredicates.all(), handlerFunction);

	HttpHandler result = RouterFunctions.toHttpHandler(routerFunction);
	assertNotNull(result);

	MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://localhost").build();
	MockServerHttpResponse httpResponse = new MockServerHttpResponse();
	result.handle(httpRequest, httpResponse).block();
	assertEquals(HttpStatus.ACCEPTED, httpResponse.getStatusCode());
}