public ClientResponse handle(ClientRequest clientRequest) { byte[] requestEntity = writeRequestEntity(clientRequest); InBoundHeaders rh = getInBoundHeaders(clientRequest.getMetadata()); final ContainerRequest cRequest = new ContainerRequest( w, clientRequest.getMethod(), baseUri, clientRequest.getURI(), rh, new ByteArrayInputStream(requestEntity)); // TODO this is a hack List<String> cookies = cRequest.getRequestHeaders().get("Cookie"); if (cookies != null) { for (String cookie : cookies) { if (cookie != null) cRequest.getCookies().putAll(HttpHeaderReader.readCookies(cookie)); } } final TstContainerResponseWriter writer = new TstContainerResponseWriter(); final ContainerResponse cResponse = new ContainerResponse(w, cRequest, writer); try { w.handleRequest(cRequest, cResponse); } catch (IOException e) { throw new ContainerException(e); } byte[] responseEntity = writer.baos.toByteArray(); ClientResponse clientResponse = new ClientResponse( cResponse.getStatus(), getInBoundHeaders(cResponse.getHttpHeaders()), new ByteArrayInputStream(responseEntity), getMessageBodyWorkers()); clientResponse.getProperties().put("request.entity", requestEntity); clientResponse.getProperties().put("response.entity", responseEntity); return clientResponse; }
public void stop() { if (webApp.isInitiated()) { webApp.destroy(); } }
public void onReload() { w = w.clone(); }
public void start() { if (!webApp.isInitiated()) { webApp.initiate(resourceConfig); } }
protected void initiate(final ResourceConfig config, final WebApplication webApp) { this.resourceConfig = checkNotNull(config); webApp.initiate(config, componentProviderFactory); }