类org.eclipse.jetty.server.HttpChannel源码实例Demo

下面列出了怎么用org.eclipse.jetty.server.HttpChannel的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: skywalking   文件: HandleInterceptor.java
@Override
public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes,
    MethodInterceptResult result) throws Throwable {
    HttpChannel httpChannel = (HttpChannel) objInst;
    HttpServletRequest servletRequest = httpChannel.getRequest();

    ContextCarrier contextCarrier = new ContextCarrier();

    CarrierItem next = contextCarrier.items();
    while (next.hasNext()) {
        next = next.next();
        next.setHeadValue(servletRequest.getHeader(next.getHeadKey()));
    }

    AbstractSpan span = ContextManager.createEntrySpan(servletRequest.getRequestURI(), contextCarrier);
    Tags.URL.set(span, servletRequest.getRequestURL().toString());
    Tags.HTTP.METHOD.set(span, servletRequest.getMethod());
    span.setComponent(ComponentsDefine.JETTY_SERVER);
    SpanLayer.asHttp(span);
}
 
private Request testRequest(String scheme, int responseCode, String httpMethod, String path) throws Exception {
    HttpChannel channel = new HttpChannel(connector, new HttpConfiguration(), null, new DummyTransport());
    MetaData.Request metaData = new MetaData.Request(httpMethod, new HttpURI(scheme + "://" + path), HttpVersion.HTTP_1_1, new HttpFields());
    Request req = channel.getRequest();
    req.setMetaData(metaData);

    this.httpResponseCode = responseCode;
    channel.handle();
    return req;
}
 
源代码3 项目: armeria   文件: JettyService.java
private void invoke(ServiceRequestContext ctx, HttpResponseWriter res,
                    ArmeriaHttpTransport transport, HttpChannel httpChannel) {

    final Queue<HttpData> out = transport.out;
    try {
        server.handle(httpChannel);
        httpChannel.getResponse().getHttpOutput().flush();

        final Throwable cause = transport.cause;
        if (cause != null) {
            throw cause;
        }

        final HttpHeaders headers = toResponseHeaders(transport);
        if (res.tryWrite(headers)) {
            for (;;) {
                final HttpData data = out.poll();
                if (data == null || !res.tryWrite(data)) {
                    break;
                }
            }
        }
    } catch (Throwable t) {
        logger.warn("{} Failed to produce a response:", ctx, t);
    } finally {
        res.close();
    }
}
 
源代码4 项目: skywalking   文件: HandleInterceptor.java
@Override
public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes,
    Object ret) throws Throwable {
    HttpChannel httpChannel = (HttpChannel) objInst;
    HttpServletResponse servletResponse = httpChannel.getResponse();
    AbstractSpan span = ContextManager.activeSpan();
    if (IS_SERVLET_GET_STATUS_METHOD_EXIST && servletResponse.getStatus() >= 400) {
        span.errorOccurred();
        Tags.STATUS_CODE.set(span, Integer.toString(servletResponse.getStatus()));
    }
    ContextManager.stopSpan();
    ContextManager.getRuntimeContext().remove(Constants.FORWARD_REQUEST_FLAG);
    return ret;
}
 
源代码5 项目: datacollector   文件: LimitedMethodServer.java
@Override
public void handle(HttpChannel channel) throws IOException, ServletException {
  if(prohibitedMethods.contains(channel.getRequest().getMethod().toUpperCase())) {
    channel.getRequest().setHandled(true);
    channel.getResponse().setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
  } else {
    super.handle(channel);
  }
}
 
源代码6 项目: pinpoint   文件: Jetty9xServerHandleInterceptor.java
@Override
HttpServletRequest toHttpServletRequest(Object[] args) {
    if (args == null || args.length < 1) {
        return null;
    }

    if (args[0] instanceof HttpChannel) {
        final HttpChannel<?> channel = (HttpChannel<?>) args[0];
        return channel.getRequest();
    }
    return null;
}
 
源代码7 项目: pinpoint   文件: Jetty9xServerHandleInterceptor.java
@Override
HttpServletResponse toHttpServletResponse(Object[] args) {
    if (args == null || args.length < 1) {
        return null;
    }

    if (args[0] instanceof HttpChannel) {
        final HttpChannel<?> channel = (HttpChannel<?>) args[0];
        return channel.getResponse();
    }
    return null;
}
 
源代码8 项目: cxf   文件: JettyHTTPDestination.java
private Request getCurrentRequest() {
    try {
        HttpConnection con = HttpConnection.getCurrentConnection();

        HttpChannel channel = con.getHttpChannel();
        return channel.getRequest();
    } catch (Throwable t) {
        //
    }
    return null;
}
 
源代码9 项目: keycloak   文件: KeycloakJettyAuthenticator.java
@Override
protected Authentication createAuthentication(UserIdentity userIdentity, Request request) {
    return new KeycloakAuthentication(getAuthMethod(), userIdentity) {
        @Override
        public void logout() {
            logoutCurrent(HttpChannel.getCurrentHttpChannel().getRequest());
        }
    };
}
 
源代码10 项目: keycloak   文件: KeycloakSamlAuthenticator.java
@Override
public Authentication createAuthentication(UserIdentity userIdentity, Request request) {
    return new KeycloakAuthentication(getAuthMethod(), userIdentity) {
        @Override
        public void logout() {
            logoutCurrent(HttpChannel.getCurrentHttpChannel().getRequest());
        }
    };
}
 
源代码11 项目: vespa   文件: AccessLogRequestLogTest.java
private Response createResponseMock() {
    Response response = mock(Response.class);
    when(response.getHttpChannel()).thenReturn(mock(HttpChannel.class));
    when(response.getCommittedMetaData()).thenReturn(mock(MetaData.Response.class));
    return response;
}
 
private Response newResponse() {
  return new Response(new HttpChannel(null, new HttpConfiguration(), null, null), null);
}
 
源代码13 项目: keycloak   文件: KeycloakJettyAuthenticator.java
@Override
protected Request resolveRequest(ServletRequest req) {
    return (req instanceof Request) ? (Request)req : HttpChannel.getCurrentHttpChannel().getRequest();
}
 
源代码14 项目: keycloak   文件: KeycloakSamlAuthenticator.java
@Override
protected Request resolveRequest(ServletRequest req) {
    return (req instanceof Request) ? (Request)req : HttpChannel.getCurrentHttpChannel().getRequest();
}
 
 类所在包
 同包方法