@Before public void before() throws Exception { MonitoringHelper.initMocks(); MockitoAnnotations.initMocks(this); contextFactory = new ServletSessionContextFactory(); servlet = new ZuulServlet(); servlet.contextFactory = contextFactory; servlet = spy(servlet); servlet.processor = processor; when(servletRequest.getHeaderNames()).thenReturn(Collections.<String>emptyEnumeration()); when(servletRequest.getAttributeNames()).thenReturn(Collections.<String>emptyEnumeration()); servletInputStream = new ServletInputStreamWrapper("{}".getBytes()); when(servletRequest.getInputStream()).thenReturn(servletInputStream); when(servletResponse.getOutputStream()).thenReturn(servletOutputStream); //when(contextFactory.create(context, servletRequest)).thenReturn(Observable.just(request)); response = new HttpResponseMessage(context, request, 299); response.setBody("blah".getBytes()); when(processor.applyInboundFilters(Matchers.any())).thenReturn(Observable.just(request)); when(processor.applyEndpointFilter(Matchers.any())).thenReturn(Observable.just(response)); when(processor.applyOutboundFilters(Matchers.any())).thenReturn(Observable.just(response)); }
public HttpResponseMessage handle(HttpRequestMessage request) { HttpResponseMessage response = new HttpResponseMessage(request.getContext(), request, 200); response.getHeaders().set("Content-Type", "text/plain"); response.setBody("OK".getBytes(CS_UTF8)); return response; } }
public static HttpResponseMessage clientResponseToZuulResponse(HttpRequestMessage zuulRequest, HttpClientResponse<ByteBuf> resp) { HttpResponseMessage zuulResp = new HttpResponseMessage(zuulRequest.getContext(), zuulRequest, 500); // Copy the response headers and info into the RequestContext for use by post filters. if (resp.getStatus() != null) { zuulResp.setStatus(resp.getStatus().code()); } Headers zuulRespHeaders = zuulResp.getHeaders(); for (Map.Entry<String, String> entry : resp.getHeaders().entries()) { // TODO - should we be filtering headers here like we do when using Ribbon? zuulRespHeaders.add(entry.getKey(), entry.getValue()); } return zuulResp; }
protected HttpResponseMessage createHttpResponseMessage(HttpResponse ribbonResp, HttpRequestMessage request) { // Convert to a zuul response object. HttpResponseMessage respMsg = new HttpResponseMessage(request.getContext(), request, 500); respMsg.setStatus(ribbonResp.getStatus()); for (Map.Entry<String, String> header : ribbonResp.getHttpHeaders().getAllHeaders()) { if (ProxyUtils.isValidResponseHeader(header.getKey())) { respMsg.getHeaders().add(header.getKey(), header.getValue()); } } // Body. Observable<ByteBuf> responseBodyObs = ByteBufUtils.fromInputStream(ribbonResp.getInputStream()); respMsg.setBodyStream(responseBodyObs); return respMsg; }
response = new HttpResponseMessage(context, (HttpRequestMessage) request, 500);