/** * Return the configurer for HTTP message readers and writers. * <p>Use {@link #configureHttpMessageCodecs(ServerCodecConfigurer)} to * configure the readers and writers. */ @Bean public ServerCodecConfigurer serverCodecConfigurer() { ServerCodecConfigurer serverCodecConfigurer = ServerCodecConfigurer.create(); configureHttpMessageCodecs(serverCodecConfigurer); return serverCodecConfigurer; }
@Override public void afterPropertiesSet() throws Exception { if (CollectionUtils.isEmpty(this.messageReaders)) { ServerCodecConfigurer codecConfigurer = ServerCodecConfigurer.create(); this.messageReaders = codecConfigurer.getReaders(); } if (this.routerFunction == null) { initRouterFunctions(); } }
private MockServerWebExchange(MockServerHttpRequest request, WebSessionManager sessionManager) { super(request, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
@Override public void afterPropertiesSet() throws Exception { Assert.notNull(this.applicationContext, "ApplicationContext is required"); if (CollectionUtils.isEmpty(this.messageReaders)) { ServerCodecConfigurer codecConfigurer = ServerCodecConfigurer.create(); this.messageReaders = codecConfigurer.getReaders(); } if (this.argumentResolverConfigurer == null) { this.argumentResolverConfigurer = new ArgumentResolverConfigurer(); } if (this.reactiveAdapterRegistry == null) { this.reactiveAdapterRegistry = ReactiveAdapterRegistry.getSharedInstance(); } this.methodResolver = new ControllerMethodResolver(this.argumentResolverConfigurer, this.reactiveAdapterRegistry, this.applicationContext, this.messageReaders); this.modelInitializer = new ModelInitializer(this.methodResolver, this.reactiveAdapterRegistry); }
private MockServerWebExchange(MockServerHttpRequest request, WebSessionManager sessionManager) { super(request, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
@Before public void setUp() throws Exception { when(this.createSession.save()).thenReturn(Mono.empty()); when(this.createSession.getId()).thenReturn("create-session-id"); when(this.updateSession.getId()).thenReturn("update-session-id"); when(this.sessionStore.createWebSession()).thenReturn(Mono.just(this.createSession)); when(this.sessionStore.retrieveSession(this.updateSession.getId())).thenReturn(Mono.just(this.updateSession)); this.sessionManager = new DefaultWebSessionManager(); this.sessionManager.setSessionIdResolver(this.sessionIdResolver); this.sessionManager.setSessionStore(this.sessionStore); MockServerHttpRequest request = MockServerHttpRequest.get("/path").build(); MockServerHttpResponse response = new MockServerHttpResponse(); this.exchange = new DefaultServerWebExchange(request, response, this.sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
@Before public void setup() throws Exception { List<HttpMessageReader<?>> readers = ServerCodecConfigurer.create().getReaders(); ReactiveAdapterRegistry registry = ReactiveAdapterRegistry.getSharedInstance(); this.resolver = new RequestPartMethodArgumentResolver(readers, registry); List<HttpMessageWriter<?>> writers = ClientCodecConfigurer.create().getWriters(); this.writer = new MultipartHttpMessageWriter(writers); }
private DefaultServerWebExchange createExchange(MockServerHttpRequest request) { return new DefaultServerWebExchange(request, new MockServerHttpResponse(), new DefaultWebSessionManager(), ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
@Bean public ServerCodecConfigurer serverCodecConfigurer() { return ServerCodecConfigurer.create(); }
@Before public void setup() { ArgumentResolverConfigurer resolvers = new ArgumentResolverConfigurer(); resolvers.addCustomResolver(new CustomArgumentResolver()); resolvers.addCustomResolver(new CustomSyncArgumentResolver()); ServerCodecConfigurer codecs = ServerCodecConfigurer.create(); codecs.customCodecs().decoder(new ByteArrayDecoder()); codecs.customCodecs().decoder(new ByteBufferDecoder()); AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); applicationContext.registerBean(TestControllerAdvice.class); applicationContext.refresh(); this.methodResolver = new ControllerMethodResolver( resolvers, ReactiveAdapterRegistry.getSharedInstance(), applicationContext, codecs.getReaders()); Method method = ResolvableMethod.on(TestController.class).mockCall(TestController::handle).method(); this.handlerMethod = new HandlerMethod(new TestController(), method); }
@Test public void loadAuthorizationRequestWhenMultipleSavedThenAuthorizationRequest() { String oldState = "state0"; MockServerHttpRequest oldRequest = MockServerHttpRequest.get("/") .queryParam(OAuth2ParameterNames.STATE, oldState).build(); OAuth2AuthorizationRequest oldAuthorizationRequest = OAuth2AuthorizationRequest.authorizationCode() .authorizationUri("https://example.com/oauth2/authorize") .clientId("client-id") .redirectUri("http://localhost/client-1") .state(oldState) .build(); WebSessionManager sessionManager = e -> this.exchange.getSession(); this.exchange = new DefaultServerWebExchange(this.exchange.getRequest(), new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); ServerWebExchange oldExchange = new DefaultServerWebExchange(oldRequest, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); Mono<OAuth2AuthorizationRequest> saveAndSaveAndLoad = this.repository.saveAuthorizationRequest(oldAuthorizationRequest, oldExchange) .then(this.repository.saveAuthorizationRequest(this.authorizationRequest, this.exchange)) .then(this.repository.loadAuthorizationRequest(oldExchange)); StepVerifier.create(saveAndSaveAndLoad) .expectNext(oldAuthorizationRequest) .verifyComplete(); StepVerifier.create(this.repository.loadAuthorizationRequest(this.exchange)) .expectNext(this.authorizationRequest) .verifyComplete(); }
@Test public void removeAuthorizationRequestWhenMultipleThenOnlyOneRemoved() { String oldState = "state0"; MockServerHttpRequest oldRequest = MockServerHttpRequest.get("/") .queryParam(OAuth2ParameterNames.STATE, oldState).build(); OAuth2AuthorizationRequest oldAuthorizationRequest = OAuth2AuthorizationRequest.authorizationCode() .authorizationUri("https://example.com/oauth2/authorize") .clientId("client-id") .redirectUri("http://localhost/client-1") .state(oldState) .build(); WebSessionManager sessionManager = e -> this.exchange.getSession(); this.exchange = new DefaultServerWebExchange(this.exchange.getRequest(), new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); ServerWebExchange oldExchange = new DefaultServerWebExchange(oldRequest, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); Mono<OAuth2AuthorizationRequest> saveAndSaveAndRemove = this.repository.saveAuthorizationRequest(oldAuthorizationRequest, oldExchange) .then(this.repository.saveAuthorizationRequest(this.authorizationRequest, this.exchange)) .then(this.repository.removeAuthorizationRequest(this.exchange)); StepVerifier.create(saveAndSaveAndRemove) .expectNext(this.authorizationRequest) .verifyComplete(); StepVerifier.create(this.repository.loadAuthorizationRequest(this.exchange)) .verifyComplete(); StepVerifier.create(this.repository.loadAuthorizationRequest(oldExchange)) .expectNext(oldAuthorizationRequest) .verifyComplete(); }
/** * Return the configured {@link ServerCodecConfigurer}. */ public ServerCodecConfigurer getCodecConfigurer() { return (this.codecConfigurer != null ? this.codecConfigurer : ServerCodecConfigurer.create()); }
private MockServerWebExchange(MockServerHttpRequest request, WebSessionManager sessionManager) { super(request, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
private MockServerWebExchange(MockServerHttpRequest request, WebSessionManager sessionManager) { super(request, new MockServerHttpResponse(), sessionManager, ServerCodecConfigurer.create(), new AcceptHeaderLocaleContextResolver()); }
@Override public ServerCodecConfigurer serverCodecConfigurer() { ServerCodecConfigurer configurer = ServerCodecConfigurer.create(); configurer.registerDefaults(false); getApplicationContext().getBeanProvider(CodecCustomizer.class) .forEach((customizer) -> customizer.customize(configurer)); return configurer; } }
private DefaultErrorWebExceptionHandler errorHandler( GenericApplicationContext context) { context.registerBean(ErrorAttributes.class, () -> new DefaultErrorAttributes()); context.registerBean(ErrorProperties.class, () -> new ErrorProperties()); context.registerBean(ResourceProperties.class, () -> new ResourceProperties()); DefaultErrorWebExceptionHandler handler = new DefaultErrorWebExceptionHandler( context.getBean(ErrorAttributes.class), context.getBean(ResourceProperties.class), context.getBean(ErrorProperties.class), context); ServerCodecConfigurer codecs = ServerCodecConfigurer.create(); handler.setMessageWriters(codecs.getWriters()); handler.setMessageReaders(codecs.getReaders()); return handler; }
private DefaultErrorWebExceptionHandler errorHandler( GenericApplicationContext context) { context.registerBean(ErrorAttributes.class, () -> new DefaultErrorAttributes()); context.registerBean(ErrorProperties.class, () -> new ErrorProperties()); context.registerBean(ResourceProperties.class, () -> new ResourceProperties()); DefaultErrorWebExceptionHandler handler = new DefaultErrorWebExceptionHandler( context.getBean(ErrorAttributes.class), context.getBean(ResourceProperties.class), context.getBean(ErrorProperties.class), context); ServerCodecConfigurer codecs = ServerCodecConfigurer.create(); handler.setMessageWriters(codecs.getWriters()); handler.setMessageReaders(codecs.getReaders()); return handler; }
private DefaultErrorWebExceptionHandler errorHandler( GenericApplicationContext context) { context.registerBean(ErrorAttributes.class, () -> new DefaultErrorAttributes()); context.registerBean(ErrorProperties.class, () -> new ErrorProperties()); context.registerBean(ResourceProperties.class, () -> new ResourceProperties()); DefaultErrorWebExceptionHandler handler = new DefaultErrorWebExceptionHandler( context.getBean(ErrorAttributes.class), context.getBean(ResourceProperties.class), context.getBean(ErrorProperties.class), context); ServerCodecConfigurer codecs = ServerCodecConfigurer.create(); handler.setMessageWriters(codecs.getWriters()); handler.setMessageReaders(codecs.getReaders()); return handler; } }