private void handleConnect(StreamSinkChannel channel, HttpServerExchange exchange) { UndertowLogger.REQUEST_LOGGER.debugf("Opened SSE connection to %s", exchange); final ServerSentEventConnection connection = new ServerSentEventConnection(exchange, channel); PathTemplateMatch pt = exchange.getAttachment(PathTemplateMatch.ATTACHMENT_KEY); if(pt != null) { for(Map.Entry<String, String> p : pt.getParameters().entrySet()) { connection.setParameter(p.getKey(), p.getValue()); } } connections.add(connection); connection.addCloseTask(new ChannelListener<ServerSentEventConnection>() { @Override public void handleEvent(ServerSentEventConnection channel) { connections.remove(connection); } }); if(callback != null) { callback.connected(connection, exchange.getRequestHeaders().getLast(LAST_EVENT_ID)); } }
String transferEncodingString = request.getRequestHeaders().getLast(TRANSFER_ENCODING);
HttpString transferEncoding = Headers.IDENTITY; Long length; final String teHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); boolean hasTransferEncoding = teHeader != null; if (hasTransferEncoding) {
String transferEncodingString = request.getRequestHeaders().getLast(TRANSFER_ENCODING); if (fixedLengthString != null) { try {
String transferEncodingString = request.getRequestHeaders().getLast(Headers.TRANSFER_ENCODING);
private void prepareResponseChannel(ClientResponse response, ClientExchange exchange) { String encoding = response.getResponseHeaders().getLast(Headers.TRANSFER_ENCODING); boolean chunked = encoding != null && Headers.CHUNKED.equals(new HttpString(encoding)); String length = response.getResponseHeaders().getFirst(Headers.CONTENT_LENGTH); if (exchange.getRequest().getMethod().equals(Methods.HEAD)) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else if (chunked) { connection.getSourceChannel().setConduit(new ChunkedStreamSourceConduit(connection.getSourceChannel().getConduit(), pushBackStreamSourceConduit, bufferPool, responseFinishedListener, exchange, connection)); } else if (length != null) { try { long contentLength = Long.parseLong(length); connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), contentLength, responseFinishedListener)); } catch (NumberFormatException e) { handleError(e); throw e; } } else if (response.getProtocol().equals(Protocols.HTTP_1_1) && !Connectors.isEntityBodyAllowed(response.getResponseCode())) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else { connection.getSourceChannel().setConduit(new FinishableStreamSourceConduit(connection.getSourceChannel().getConduit(), responseFinishedListener)); state |= CLOSE_REQ; } }
public static void setupRequest(final HttpServerExchange exchange) { final HeaderMap requestHeaders = exchange.getRequestHeaders(); final String connectionHeader = requestHeaders.getFirst(Headers.CONNECTION); final String transferEncodingHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); final String contentLengthHeader = requestHeaders.getFirst(Headers.CONTENT_LENGTH);
final String transferEncodingHeader = responseHeaders.getLast(Headers.TRANSFER_ENCODING); if(transferEncodingHeader == null) { final String contentLengthHeader = responseHeaders.getFirst(Headers.CONTENT_LENGTH);
private void handleConnect(StreamSinkChannel channel, HttpServerExchange exchange) { UndertowLogger.REQUEST_LOGGER.debugf("Opened SSE connection to %s", exchange); final ServerSentEventConnection connection = new ServerSentEventConnection(exchange, channel); PathTemplateMatch pt = exchange.getAttachment(PathTemplateMatch.ATTACHMENT_KEY); if(pt != null) { for(Map.Entry<String, String> p : pt.getParameters().entrySet()) { connection.setParameter(p.getKey(), p.getValue()); } } connections.add(connection); connection.addCloseTask(new ChannelListener<ServerSentEventConnection>() { @Override public void handleEvent(ServerSentEventConnection channel) { connections.remove(connection); } }); if(callback != null) { callback.connected(connection, exchange.getRequestHeaders().getLast(LAST_EVENT_ID)); } }
private void handleConnect(StreamSinkChannel channel, HttpServerExchange exchange) { UndertowLogger.REQUEST_LOGGER.debugf("Opened SSE connection to %s", exchange); final ServerSentEventConnection connection = new ServerSentEventConnection(exchange, channel); PathTemplateMatch pt = exchange.getAttachment(PathTemplateMatch.ATTACHMENT_KEY); if(pt != null) { for(Map.Entry<String, String> p : pt.getParameters().entrySet()) { connection.setParameter(p.getKey(), p.getValue()); } } connections.add(connection); connection.addCloseTask(new ChannelListener<ServerSentEventConnection>() { @Override public void handleEvent(ServerSentEventConnection channel) { connections.remove(connection); } }); if(callback != null) { callback.connected(connection, exchange.getRequestHeaders().getLast(LAST_EVENT_ID)); } }
String transferEncodingString = request.getRequestHeaders().getLast(TRANSFER_ENCODING);
HttpString transferEncoding = Headers.IDENTITY; Long length; final String teHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); boolean hasTransferEncoding = teHeader != null; if (hasTransferEncoding) {
HttpString transferEncoding = Headers.IDENTITY; Long length; final String teHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); boolean hasTransferEncoding = teHeader != null; if (hasTransferEncoding) {
String transferEncodingString = request.getRequestHeaders().getLast(TRANSFER_ENCODING);
private void prepareResponseChannel(ClientResponse response, ClientExchange exchange) { String encoding = response.getResponseHeaders().getLast(Headers.TRANSFER_ENCODING); boolean chunked = encoding != null && Headers.CHUNKED.equals(new HttpString(encoding)); String length = response.getResponseHeaders().getFirst(Headers.CONTENT_LENGTH); if (exchange.getRequest().getMethod().equals(Methods.HEAD)) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else if (chunked) { connection.getSourceChannel().setConduit(new ChunkedStreamSourceConduit(connection.getSourceChannel().getConduit(), pushBackStreamSourceConduit, bufferPool, responseFinishedListener, exchange, connection)); } else if (length != null) { try { long contentLength = Long.parseLong(length); connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), contentLength, responseFinishedListener)); } catch (NumberFormatException e) { handleError(e); throw e; } } else if (response.getProtocol().equals(Protocols.HTTP_1_1) && !Connectors.isEntityBodyAllowed(response.getResponseCode())) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else { connection.getSourceChannel().setConduit(new FinishableStreamSourceConduit(connection.getSourceChannel().getConduit(), responseFinishedListener)); state |= CLOSE_REQ; } }
private void prepareResponseChannel(ClientResponse response, ClientExchange exchange) { String encoding = response.getResponseHeaders().getLast(Headers.TRANSFER_ENCODING); boolean chunked = encoding != null && Headers.CHUNKED.equals(new HttpString(encoding)); String length = response.getResponseHeaders().getFirst(Headers.CONTENT_LENGTH); if (exchange.getRequest().getMethod().equals(Methods.HEAD)) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else if (chunked) { connection.getSourceChannel().setConduit(new ChunkedStreamSourceConduit(connection.getSourceChannel().getConduit(), pushBackStreamSourceConduit, bufferPool, responseFinishedListener, exchange, connection)); } else if (length != null) { try { long contentLength = Long.parseLong(length); connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), contentLength, responseFinishedListener)); } catch (NumberFormatException e) { handleError(e); throw e; } } else if (response.getProtocol().equals(Protocols.HTTP_1_1) && !Connectors.isEntityBodyAllowed(response.getResponseCode())) { connection.getSourceChannel().setConduit(new FixedLengthStreamSourceConduit(connection.getSourceChannel().getConduit(), 0, responseFinishedListener)); } else { connection.getSourceChannel().setConduit(new FinishableStreamSourceConduit(connection.getSourceChannel().getConduit(), responseFinishedListener)); state |= CLOSE_REQ; } }
public static void setupRequest(final HttpServerExchange exchange) { final HeaderMap requestHeaders = exchange.getRequestHeaders(); final String connectionHeader = requestHeaders.getFirst(Headers.CONNECTION); final String transferEncodingHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); final String contentLengthHeader = requestHeaders.getFirst(Headers.CONTENT_LENGTH);
public static void setupRequest(final HttpServerExchange exchange) { final HeaderMap requestHeaders = exchange.getRequestHeaders(); final String connectionHeader = requestHeaders.getFirst(Headers.CONNECTION); final String transferEncodingHeader = requestHeaders.getLast(Headers.TRANSFER_ENCODING); final String contentLengthHeader = requestHeaders.getFirst(Headers.CONTENT_LENGTH);
final String transferEncodingHeader = responseHeaders.getLast(Headers.TRANSFER_ENCODING); if(transferEncodingHeader == null) { final String contentLengthHeader = responseHeaders.getFirst(Headers.CONTENT_LENGTH);
final String transferEncodingHeader = responseHeaders.getLast(Headers.TRANSFER_ENCODING); if(transferEncodingHeader == null) { final String contentLengthHeader = responseHeaders.getFirst(Headers.CONTENT_LENGTH);