/** * Returns the {@link HttpResponseStatus} represented by the specified code. * If the specified code is a standard RTSP status code, a cached instance * will be returned. Otherwise, a new instance will be returned. */ public static HttpResponseStatus valueOf(int code) { switch (code) { case 250: return LOW_STORAGE_SPACE; case 302: return MOVED_TEMPORARILY; case 451: return PARAMETER_NOT_UNDERSTOOD; case 452: return CONFERENCE_NOT_FOUND; case 453: return NOT_ENOUGH_BANDWIDTH; case 454: return SESSION_NOT_FOUND; case 455: return METHOD_NOT_VALID; case 456: return HEADER_FIELD_NOT_VALID; case 457: return INVALID_RANGE; case 458: return PARAMETER_IS_READONLY; case 459: return AGGREGATE_OPERATION_NOT_ALLOWED; case 460: return ONLY_AGGREGATE_OPERATION_ALLOWED; case 461: return UNSUPPORTED_TRANSPORT; case 462: return DESTINATION_UNREACHABLE; case 463: return KEY_MANAGEMENT_FAILURE; case 505: return RTSP_VERSION_NOT_SUPPORTED; case 551: return OPTION_NOT_SUPPORTED; default: return HttpResponseStatus.valueOf(code); } }
/** * Returns the {@link HttpResponseStatus} represented by the HTTP response status header. */ public static HttpResponseStatus getStatus(int spdyVersion, SpdyHeadersFrame frame) { try { String status = frame.headers().get(HttpNames.STATUS); int space = status.indexOf(' '); if (space == -1) { return HttpResponseStatus.valueOf(Integer.parseInt(status)); } else { int code = Integer.parseInt(status.substring(0, space)); String reasonPhrase = status.substring(space + 1); HttpResponseStatus responseStatus = HttpResponseStatus.valueOf(code); if (responseStatus.getReasonPhrase().equals(reasonPhrase)) { return responseStatus; } else { return new HttpResponseStatus(code, reasonPhrase); } } } catch (Exception e) { return null; } }
@Override public NettyHttpResponse status(int status) { response.setStatus(HttpResponseStatus.valueOf(status)); return this; }
@Override public void sendError(int status, String message) throws IOException { if (committed) { throw new IllegalStateException(); } HttpResponseStatus responseStatus = null; if (message != null) { responseStatus = new HttpResponseStatus(status, message); } else { responseStatus = HttpResponseStatus.valueOf(status); } DefaultHttpResponse response = new DefaultHttpResponse(HTTP_1_1, responseStatus); if (keepAlive) { // Add keep alive and content length if needed response.headers() .add(Names.CONNECTION, Values.KEEP_ALIVE) .add(Names.CONTENT_LENGTH, 0); } channel.write(response); committed = true; }
NettyHttpResponse nettyResponse = (NettyHttpResponse) msg; HttpResponseStatus status = HttpResponseStatus.valueOf(nettyResponse.getStatus()); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, status);
public SimpleResponseHandler(String text, int status) { this(text); this.status = HttpResponseStatus.valueOf(status); }
@Override public NettyHttpResponse status(int status) { response.setStatus(HttpResponseStatus.valueOf(status)); return this; }
public OutputStream writeStatusAndHeaders(long contentLength, ContainerResponse cResponse) throws IOException { response = new DefaultHttpResponse(HttpVersion.HTTP_1_0, HttpResponseStatus.valueOf(cResponse.getStatus())); for (Map.Entry<String, List<Object>> e : cResponse.getHttpHeaders().entrySet()) { List<String> values = new ArrayList<String>(); for (Object v : e.getValue()) values.add(ContainerResponse.getHeaderValue(v)); response.setHeader(e.getKey(), values); } ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); response.setContent(buffer); return new ChannelBufferOutputStream(buffer); }
@Override protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, VoidEnum state) throws Exception { int nonNewlineBytes = buffer.bytesBefore( (byte) '\n' ); ChannelBuffer firstLine = buffer.readBytes( nonNewlineBytes + 1 ); String line = firstLine.toString( Charset.forName( "UTF-8" ) ).trim(); Matcher matcher = statusLineRegexp.matcher( line ); if (matcher.matches()) { int status = Integer.parseInt( matcher.group( 2 ) ); HttpResponse response = new DefaultHttpResponse( HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf( status ) ); if (status == 101) { response = readHeaders( response, buffer ); if (response == null) { return null; } readResponseBody( response, buffer ); return response; } else if (status == 407) { } } return null; }
@Override public void sendError(int status, String message) throws IOException { if (committed) { throw new IllegalStateException(); } HttpResponseStatus responseStatus = null; if (message != null) { responseStatus = new HttpResponseStatus(status, message); } else { responseStatus = HttpResponseStatus.valueOf(status); } DefaultHttpResponse response = new DefaultHttpResponse(HTTP_1_1, responseStatus); if (keepAlive) { // Add keep alive and content length if needed response.headers() .add(Names.CONNECTION, Values.KEEP_ALIVE) .add(Names.CONTENT_LENGTH, 0); } channel.write(response); committed = true; }
@Override public OutputStream writeResponseStatusAndHeaders(long contentLength, ContainerResponse responseContext) throws ContainerException { httpResponse = new DefaultHttpResponse(protocolVersion, HttpResponseStatus.valueOf(responseContext.getStatus()));
HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(code)); LOG.trace("HTTP Status Code: {}", code);
private void handle(HttpResponse message) throws Exception { State state = getState(State.class); // convert back to netty http response org.jboss.netty.handler.codec.http.HttpResponse nettyResponse = new DefaultHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(message.getStatusCode())); // @todo: copy the headers from the message HttpHeaders.setHeader(nettyResponse,HttpHeaders.Names.CONTENT_TYPE,message.getContentType()); nettyResponse.setContent(ChannelBuffers.wrappedBuffer(message.getContent())); // we don't support keep alive as of yet state.getResponseChannel().write(nettyResponse).addListener(ChannelFutureListener.CLOSE); // need to remove myself getSystem().stop(getSelf()); }
private void handle(HttpResponse message) throws Exception { State state = getState(State.class); // convert back to netty http response org.jboss.netty.handler.codec.http.HttpResponse nettyResponse = new DefaultHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(message.getStatusCode())); // @todo: copy the headers from the message HttpHeaders.setHeader(nettyResponse,HttpHeaders.Names.CONTENT_TYPE,message.getContentType()); nettyResponse.setContent(ChannelBuffers.wrappedBuffer(message.getContent())); // we don't support keep alive as of yet state.getResponseChannel().write(nettyResponse).addListener(ChannelFutureListener.CLOSE); // need to remove myself getSystem().stop(getSelf()); }
NettyHttpResponse nettyResponse = (NettyHttpResponse) msg; HttpResponseStatus status = HttpResponseStatus.valueOf(nettyResponse.getStatus()); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, status);
private void writeHead() { if (!headWritten) { HttpResponseStatus status = statusMessage == null ? HttpResponseStatus.valueOf(statusCode) : new HttpResponseStatus(statusCode, statusMessage); response.setStatus(status); if (version == HttpVersion.HTTP_1_0 && keepAlive) { response.setHeader("Connection", "Keep-Alive"); } writeHeaders(); if (chunked) { response.setHeader(Names.TRANSFER_ENCODING, HttpHeaders.Values.CHUNKED); } else if (version != HttpVersion.HTTP_1_0 && !contentLengthSet()) { response.setHeader(Names.CONTENT_LENGTH, "0"); } channelFuture = conn.write(response); headWritten = true; } }
HttpResponse nettyResponse = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(response.status)); if (exposePlayServer) { nettyResponse.headers().set(SERVER, signature);
HttpResponseStatus status = HttpResponseStatus.valueOf(nettyResponse.getStatus()); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, status);
HttpResponse nettyResponse = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(response.status)); if (exposePlayServer) { nettyResponse.headers().set(SERVER, signature);