Example usage for io.netty.handler.codec.http HttpResponseStatus GATEWAY_TIMEOUT

List of usage examples for io.netty.handler.codec.http HttpResponseStatus GATEWAY_TIMEOUT

Introduction

In this page you can find the example usage for io.netty.handler.codec.http HttpResponseStatus GATEWAY_TIMEOUT.

Prototype

HttpResponseStatus GATEWAY_TIMEOUT

To view the source code for io.netty.handler.codec.http HttpResponseStatus GATEWAY_TIMEOUT.

Click Source Link

Document

504 Gateway Timeout

Usage

From source file:com.linkedin.flashback.netty.builder.RecordedHttpResponseBuilderTest.java

License:Open Source License

@Test
public void testBuild() throws IOException {
    HttpResponse httpResponse = new DefaultFullHttpResponse(HttpVersion.HTTP_1_0,
            HttpResponseStatus.GATEWAY_TIMEOUT);
    RecordedHttpResponseBuilder recordedHttpResponseBuilder = new RecordedHttpResponseBuilder(httpResponse);

    String charset = "UTF-8";
    String str1 = "Hello world";
    HttpContent httpContent1 = new DefaultHttpContent(Unpooled.copiedBuffer(str1.getBytes(charset)));
    recordedHttpResponseBuilder.appendHttpContent(httpContent1);
    String str2 = "second content";
    HttpContent httpContent2 = new DefaultHttpContent(Unpooled.copiedBuffer(str2.getBytes(charset)));
    recordedHttpResponseBuilder.appendHttpContent(httpContent2);

    String lastStr = "Last chunk";
    HttpContent lastContent = new DefaultLastHttpContent(Unpooled.copiedBuffer(lastStr.getBytes(charset)));
    recordedHttpResponseBuilder.appendHttpContent(lastContent);
    RecordedHttpResponse recordedHttpResponse = recordedHttpResponseBuilder.build();
    Assert.assertEquals(recordedHttpResponse.getStatus(), HttpResponseStatus.GATEWAY_TIMEOUT.code());
    Assert.assertEquals((str1 + str2 + lastStr).getBytes(charset),
            recordedHttpResponse.getHttpBody().getContent(charset));
}

From source file:org.iotivity.cloud.base.protocols.http.HCProxyProcessor.java

License:Open Source License

private HttpResponseStatus getHttpResponseStatus(ResponseStatus coapResponseStatus, boolean isPayload) {

    HttpResponseStatus httpStatusCode = HttpResponseStatus.NOT_IMPLEMENTED;

    if (coapResponseStatus == ResponseStatus.CREATED) {

        httpStatusCode = HttpResponseStatus.CREATED;

    } else if (coapResponseStatus == ResponseStatus.DELETED || coapResponseStatus == ResponseStatus.CHANGED
            || coapResponseStatus == ResponseStatus.CONTENT) {

        if (isPayload) {
            httpStatusCode = HttpResponseStatus.OK;
        } else {//  w w  w  .  j  a  v  a  2 s. c om
            httpStatusCode = HttpResponseStatus.NO_CONTENT;
        }

    } else if (coapResponseStatus == ResponseStatus.VALID) {

        if (isPayload) {
            httpStatusCode = HttpResponseStatus.OK;
        } else {
            httpStatusCode = HttpResponseStatus.NOT_MODIFIED;
        }

    } else if (coapResponseStatus == ResponseStatus.UNAUTHORIZED
            || coapResponseStatus == ResponseStatus.FORBIDDEN) {

        httpStatusCode = HttpResponseStatus.FORBIDDEN;

    } else if (coapResponseStatus == ResponseStatus.BAD_REQUEST
            || coapResponseStatus == ResponseStatus.BAD_OPTION) {

        httpStatusCode = HttpResponseStatus.BAD_REQUEST;

    } else if (coapResponseStatus == ResponseStatus.METHOD_NOT_ALLOWED) {

        // The HC Proxy should return a HTTP reason-phrase
        // in the HTTP status line that starts with the string
        // "CoAP server returned 4.05"
        // in order to facilitate troubleshooting.
        httpStatusCode = new HttpResponseStatus(400, "CoAP server returned 4.05");

    } else if (coapResponseStatus == ResponseStatus.NOT_ACCEPTABLE) {

        httpStatusCode = HttpResponseStatus.NOT_ACCEPTABLE;

    } else if (coapResponseStatus == ResponseStatus.PRECONDITION_FAILED) {

        httpStatusCode = HttpResponseStatus.PRECONDITION_FAILED;

    } else if (coapResponseStatus == ResponseStatus.UNSUPPORTED_CONTENT_FORMAT) {

        httpStatusCode = HttpResponseStatus.UNSUPPORTED_MEDIA_TYPE;

    } else if (coapResponseStatus == ResponseStatus.BAD_GATEWAY
            || coapResponseStatus == ResponseStatus.PROXY_NOT_SUPPORTED) {

        httpStatusCode = HttpResponseStatus.BAD_GATEWAY;

    } else if (coapResponseStatus == ResponseStatus.SERVICE_UNAVAILABLE) {

        httpStatusCode = HttpResponseStatus.SERVICE_UNAVAILABLE;

    } else if (coapResponseStatus == ResponseStatus.GATEWAY_TIMEOUT) {

        httpStatusCode = HttpResponseStatus.GATEWAY_TIMEOUT;

    } else if (coapResponseStatus == ResponseStatus.NOT_FOUND) {

        httpStatusCode = HttpResponseStatus.NOT_FOUND;

    } else if (coapResponseStatus == ResponseStatus.INTERNAL_SERVER_ERROR) {

        httpStatusCode = HttpResponseStatus.INTERNAL_SERVER_ERROR;
    }

    return httpStatusCode;
}

From source file:org.restnext.server.ServerHandler.java

License:Apache License

private HttpResponseStatus fromStatus(Response.Status status) {
    switch (status) {
    case OK://from   w w  w .  j  av a2  s . c o m
        return HttpResponseStatus.OK;
    case CREATED:
        return HttpResponseStatus.CREATED;
    case ACCEPTED:
        return HttpResponseStatus.ACCEPTED;
    case NO_CONTENT:
        return HttpResponseStatus.NO_CONTENT;
    case RESET_CONTENT:
        return HttpResponseStatus.RESET_CONTENT;
    case PARTIAL_CONTENT:
        return HttpResponseStatus.PARTIAL_CONTENT;
    case MOVED_PERMANENTLY:
        return HttpResponseStatus.MOVED_PERMANENTLY;
    case FOUND:
        return HttpResponseStatus.FOUND;
    case SEE_OTHER:
        return HttpResponseStatus.SEE_OTHER;
    case NOT_MODIFIED:
        return HttpResponseStatus.NOT_MODIFIED;
    case USE_PROXY:
        return HttpResponseStatus.USE_PROXY;
    case TEMPORARY_REDIRECT:
        return HttpResponseStatus.TEMPORARY_REDIRECT;
    case BAD_REQUEST:
        return HttpResponseStatus.BAD_REQUEST;
    case UNAUTHORIZED:
        return HttpResponseStatus.UNAUTHORIZED;
    case PAYMENT_REQUIRED:
        return HttpResponseStatus.PAYMENT_REQUIRED;
    case FORBIDDEN:
        return HttpResponseStatus.FORBIDDEN;
    case NOT_FOUND:
        return HttpResponseStatus.NOT_FOUND;
    case METHOD_NOT_ALLOWED:
        return HttpResponseStatus.METHOD_NOT_ALLOWED;
    case NOT_ACCEPTABLE:
        return HttpResponseStatus.NOT_ACCEPTABLE;
    case PROXY_AUTHENTICATION_REQUIRED:
        return HttpResponseStatus.PROXY_AUTHENTICATION_REQUIRED;
    case REQUEST_TIMEOUT:
        return HttpResponseStatus.REQUEST_TIMEOUT;
    case CONFLICT:
        return HttpResponseStatus.CONFLICT;
    case GONE:
        return HttpResponseStatus.GONE;
    case LENGTH_REQUIRED:
        return HttpResponseStatus.LENGTH_REQUIRED;
    case PRECONDITION_FAILED:
        return HttpResponseStatus.PRECONDITION_FAILED;
    case REQUEST_ENTITY_TOO_LARGE:
        return HttpResponseStatus.REQUEST_ENTITY_TOO_LARGE;
    case REQUEST_URI_TOO_LONG:
        return HttpResponseStatus.REQUEST_URI_TOO_LONG;
    case UNSUPPORTED_MEDIA_TYPE:
        return HttpResponseStatus.UNSUPPORTED_MEDIA_TYPE;
    case REQUESTED_RANGE_NOT_SATISFIABLE:
        return HttpResponseStatus.REQUESTED_RANGE_NOT_SATISFIABLE;
    case EXPECTATION_FAILED:
        return HttpResponseStatus.EXPECTATION_FAILED;
    case INTERNAL_SERVER_ERROR:
        return HttpResponseStatus.INTERNAL_SERVER_ERROR;
    case NOT_IMPLEMENTED:
        return HttpResponseStatus.NOT_IMPLEMENTED;
    case BAD_GATEWAY:
        return HttpResponseStatus.BAD_GATEWAY;
    case SERVICE_UNAVAILABLE:
        return HttpResponseStatus.SERVICE_UNAVAILABLE;
    case GATEWAY_TIMEOUT:
        return HttpResponseStatus.GATEWAY_TIMEOUT;
    case HTTP_VERSION_NOT_SUPPORTED:
        return HttpResponseStatus.HTTP_VERSION_NOT_SUPPORTED;
    case CONTINUE:
        return HttpResponseStatus.CONTINUE;
    default:
        throw new RuntimeException(String.format("Status: %s not supported", status));
    }
}

From source file:org.wso2.carbon.transport.http.netty.ClientConnectorTimeoutTestCase.java

License:Open Source License

@Test
public void testHttpsGet() {
    try {/* w  ww . j a  v a2  s. c  om*/
        HTTPCarbonMessage msg = new HTTPCarbonMessage(
                new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, ""));
        msg.setProperty("PORT", TestUtil.TEST_HTTPS_SERVER_PORT);
        msg.setProperty("PROTOCOL", "https");
        msg.setProperty("HOST", "localhost");
        msg.setProperty("HTTP_METHOD", "GET");
        msg.setEndOfMsgAdded(true);

        CountDownLatch latch = new CountDownLatch(1);
        HTTPConnectorListener listener = new HTTPConnectorListener(latch);
        HttpResponseFuture responseFuture = httpClientConnector.send(msg);
        responseFuture.setHttpConnectorListener(listener);

        latch.await(6, TimeUnit.SECONDS);

        Throwable response = listener.getHttpErrorMessage();
        assertNotNull(response);
        String result = response.getMessage();

        assertEquals(HttpResponseStatus.GATEWAY_TIMEOUT.reasonPhrase(), result);
    } catch (Exception e) {
        TestUtil.handleException("Exception occurred while running httpsGetTest", e);
    }
}

From source file:org.wso2.carbon.transport.http.netty.redirect.HTTPClientRedirectTestCase.java

License:Open Source License

/**
 * In case of a timeout during redirection, check whether the proper error response is sent to the client.
 *//*from w  w  w.j  a va2s .  co  m*/
@Test
public void integrationTestForTimeout() {
    try {

        SenderConfiguration senderConfiguration = HTTPConnectorUtil
                .getSenderConfiguration(transportsConfiguration, Constants.HTTP_SCHEME);
        senderConfiguration.setFollowRedirect(true);
        senderConfiguration.setMaxRedirectCount(5);
        senderConfiguration.setSocketIdleTimeout(2000);

        HttpClientConnector httpClientConnector = connectorFactory.createHttpClientConnector(
                HTTPConnectorUtil.getTransportProperties(transportsConfiguration), senderConfiguration);

        //Server starts on port 9092 and give 200 response
        HttpServer httpServer = TestUtil.startHTTPServer(DESTINATION_PORT2,
                new RedirectServerInitializer(testValue, Constants.TEXT_PLAIN, 200, null, 0));

        //Server starts on port 9091 and give a redirect response to server on port 9092
        HttpServer redirectServer2 = TestUtil.startHTTPServer(DESTINATION_PORT1,
                new RedirectServerInitializer(testValueForLoopRedirect, Constants.TEXT_PLAIN,
                        HttpResponseStatus.TEMPORARY_REDIRECT.code(), FINAL_DESTINATION, 3000));

        CountDownLatch latch = new CountDownLatch(1);
        HTTPConnectorListener listener = new HTTPConnectorListener(latch);
        HttpResponseFuture responseFuture = httpClientConnector
                .send(createHttpCarbonRequest(null, DESTINATION_PORT1));
        responseFuture.setHttpConnectorListener(listener);

        latch.await(60, TimeUnit.SECONDS);

        Throwable response = listener.getHttpErrorMessage();
        assertNotNull(response);
        String result = response.getMessage();
        assertEquals(HttpResponseStatus.GATEWAY_TIMEOUT.reasonPhrase(), result);
        redirectServer2.shutdown();
        httpServer.shutdown();
    } catch (Exception e) {
        TestUtil.handleException("Exception occurred while running integrationTestForTimeout", e);
    }
}

From source file:org.wso2.carbon.transport.http.netty.sender.TargetHandler.java

License:Open Source License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (evt instanceof IdleStateEvent) {
        IdleStateEvent event = (IdleStateEvent) evt;
        if (event.state() == IdleState.READER_IDLE || event.state() == IdleState.WRITER_IDLE) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Timeout occurred in Targethandler. Channel ID : " + ctx.channel().id());
            }//  w w w  .  j a v  a2s. c  o m
            targetChannel.getChannel().pipeline().remove(Constants.IDLE_STATE_HANDLER);
            targetChannel.setRequestWritten(false);
            httpResponseFuture.notifyHttpListener(
                    new ClientConnectorException(HttpResponseStatus.GATEWAY_TIMEOUT.reasonPhrase(),
                            HttpResponseStatus.GATEWAY_TIMEOUT.code()));
        }
    }
}