@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class); Writer servletWriter = newServletWriter(handler); handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null); response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); response.flushBuffer(); }
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); AsyncContext asyncContext = request.startAsync(); asyncContext.setTimeout(-1L); Object nativeRequest = getNativeRequest(request); BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest); Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection"); Object webSocket = webSocketHelper.newInstance(request, httpSocket); webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext()); response.flushBuffer(); boolean isProtected = request.getUserPrincipal() != null; Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected); Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener); new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection); new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection); webSocketHelper.registerForReadEvent(webSocket); }
private void appendTraceHeaders(HttpServletResponse httpServletResponse, TyrusUpgradeResponse tyrusUpgradeResponse) { for (Map.Entry<String, List<String>> entry : tyrusUpgradeResponse.getHeaders().entrySet()) { if (entry.getKey().contains(UpgradeResponse.TRACING_HEADER_PREFIX)) { httpServletResponse.addHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue())); } } }
/** * Client side only - compose the {@link UpgradeRequest} and store it for further use. * * @return composed {@link UpgradeRequest}. */ public UpgradeRequest prepareRequest() { Map<String, List<String>> requestHeaders = request.getHeaders(); updateHostAndOrigin(request); requestHeaders.put(UpgradeRequest.CONNECTION, Collections.singletonList(UpgradeRequest.UPGRADE)); requestHeaders.put(UpgradeRequest.UPGRADE, Collections.singletonList(UpgradeRequest.WEBSOCKET)); requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_KEY, Collections.singletonList(secKey.toString())); requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_VERSION, Collections.singletonList(VERSION)); if (!subProtocols.isEmpty()) { requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL, Collections.singletonList(Utils.getHeaderFromList(subProtocols, null))); } if (!extensions.isEmpty()) { requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_EXTENSIONS, Collections.singletonList( Utils.getHeaderFromList(extensions, new Utils.Stringifier<Extension>() { @Override String toString(Extension extension) { return TyrusExtension.toString(extension); } })) ); } return request; }
/** * Client side only - compose the {@link UpgradeRequest} and store it for further use. * * @return composed {@link UpgradeRequest}. */ public UpgradeRequest prepareRequest() { Map<String, List<String>> requestHeaders = request.getHeaders(); updateHostAndOrigin(request); requestHeaders.put(UpgradeRequest.CONNECTION, Collections.singletonList(UpgradeRequest.UPGRADE)); requestHeaders.put(UpgradeRequest.UPGRADE, Collections.singletonList(UpgradeRequest.WEBSOCKET)); requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_KEY, Collections.singletonList(secKey.toString())); requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_VERSION, Collections.singletonList(VERSION)); if (!subProtocols.isEmpty()) { requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL, Collections.singletonList(Utils.getHeaderFromList(subProtocols, null))); } if (!extensions.isEmpty()) { requestHeaders.put(HandshakeRequest.SEC_WEBSOCKET_EXTENSIONS, Collections.singletonList( Utils.getHeaderFromList(extensions, new Utils.Stringifier<Extension>() { @Override String toString(Extension extension) { return TyrusExtension.toString(extension); } })) ); } return request; }
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class); Writer servletWriter = newServletWriter(handler); handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null); response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); response.flushBuffer(); }
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class); Writer servletWriter = newServletWriter(handler); handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null); response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); response.flushBuffer(); }
private void writeTraceHeaders(FilterChainContext ctx, UpgradeResponse upgradeResponse) { final HttpResponsePacket responsePacket = ((HttpRequestPacket) ((HttpContent) ctx.getMessage()).getHttpHeader()).getResponse(); for (Map.Entry<String, List<String>> entry : upgradeResponse.getHeaders().entrySet()) { if (entry.getKey().contains(UpgradeResponse.TRACING_HEADER_PREFIX)) { responsePacket.setHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue())); } } }
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); AsyncContext asyncContext = request.startAsync(); asyncContext.setTimeout(-1L); Object nativeRequest = getNativeRequest(request); BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest); Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection"); Object webSocket = webSocketHelper.newInstance(request, httpSocket); webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext()); response.flushBuffer(); boolean isProtected = request.getUserPrincipal() != null; Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected); Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener); new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection); new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection); webSocketHelper.registerForReadEvent(webSocket); }
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); AsyncContext asyncContext = request.startAsync(); asyncContext.setTimeout(-1L); Object nativeRequest = getNativeRequest(request); BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest); Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection"); Object webSocket = webSocketHelper.newInstance(request, httpSocket); webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext()); response.flushBuffer(); boolean isProtected = request.getUserPrincipal() != null; Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected); Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener); new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection); new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection); webSocketHelper.registerForReadEvent(webSocket); }
private void write(FilterChainContext ctx, UpgradeResponse response) { final HttpResponsePacket responsePacket = ((HttpRequestPacket) ((HttpContent) ctx.getMessage()).getHttpHeader()).getResponse(); responsePacket.setProtocol(Protocol.HTTP_1_1); responsePacket.setStatus(response.getStatus()); // TODO // responsePacket.setReasonPhrase(response.getReasonPhrase()); for (Map.Entry<String, List<String>> entry : response.getHeaders().entrySet()) { responsePacket.setHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue())); } ctx.write(HttpContent.builder(responsePacket).build()); }
httpServletResponse.addHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue()));
final List<String> locationHeader = upgradeResponse.getHeaders().get(UpgradeResponse.LOCATION); if (locationHeader != null) { locationString = Utils.getHeaderFromList(locationHeader);
final List<String> locationHeader = upgradeResponse.getHeaders().get(UpgradeResponse.LOCATION); if (locationHeader != null) { locationString = Utils.getHeaderFromList(locationHeader);
.get(UpgradeResponse.RETRY_AFTER); if (retryAfterHeader != null) { retryAfterString = Utils.getHeaderFromList(retryAfterHeader);
.get(UpgradeResponse.RETRY_AFTER); if (retryAfterHeader != null) { retryAfterString = Utils.getHeaderFromList(retryAfterHeader);
.WWW_AUTHENTICATE); if (authHeader != null) { wwwAuthenticateHeader = Utils.getHeaderFromList(authHeader);
.WWW_AUTHENTICATE); if (authHeader != null) { wwwAuthenticateHeader = Utils.getHeaderFromList(authHeader);