javax.ws.rs.client.ClientRequestContext#abortWith ( )源码实例Demo

下面列出了javax.ws.rs.client.ClientRequestContext#abortWith ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void filter(ClientRequestContext ctx) throws IOException {
    try {
        Method m = (Method) ctx.getProperty("org.eclipse.microprofile.rest.client.invokedMethod");

        Path path = m.getAnnotation(Path.class);
        ctx.abortWith(Response.ok("OK")
                              .header("ReturnType", m.getReturnType().getName())
                              .header("POST", m.getAnnotation(POST.class) == null ? "null" : "POST")
                              .header("Path", path == null ? "null" : path.value())
                              .build());
    }
    catch (Throwable t) {
        t.printStackTrace();
        ctx.abortWith(Response.serverError().build());
    }
}
 
源代码2 项目: cxf   文件: InvokedMethodClientRequestFilter.java
@Override
public void filter(ClientRequestContext ctx) throws IOException {
    try {
        Method m = (Method) ctx.getProperty("org.eclipse.microprofile.rest.client.invokedMethod");

        Path path = m.getAnnotation(Path.class);
        ctx.abortWith(Response.ok("OK")
                              .header("ReturnType", m.getReturnType().getName())
                              .header("PUT", m.getAnnotation(PUT.class) == null ? "null" : "PUT")
                              .header("Path", path == null ? "null" : path.value())
                              .header("Parm1", m.getParameters()[0].getType().getName())
                              .header("Parm1Annotation", 
                                      m.getParameters()[0].getAnnotations()[0].annotationType().getName())
                              .header("Parm2", m.getParameters()[1].getType().getName())
                              .build());
    } catch (Throwable t) {
        t.printStackTrace();
        ctx.abortWith(Response.serverError().build());
    }
}
 
@Override
public void filter(ClientRequestContext ctx) throws IOException {
    String contentType = ctx.getHeaderString(HttpHeaders.CONTENT_TYPE);
    String accept = ctx.getHeaderString(HttpHeaders.ACCEPT);
    ctx.abortWith(Response.ok()
                          .header("Sent-Accept", accept)
                          .header("Sent-ContentType", contentType)
                          .build());

}
 
源代码4 项目: cxf   文件: InvocationBuilderImplTest.java
/** {@inheritDoc}*/
@Override
public void filter(ClientRequestContext context) throws IOException {
    MultivaluedMap<String, Object> headers = context.getHeaders();
    StringBuilder entity = new StringBuilder();
    for (String key : headers.keySet()) {
        entity.append(key).append('=').append(headers.getFirst(key)).append(';');
    }
    context.abortWith(Response.ok(entity.toString()).build());
}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    String headerValue = null;
    Object headerName = clientRequestContext.getEntity();
    if (headerName != null) {
        headerValue = clientRequestContext.getHeaderString(headerName.toString());
    }
    clientRequestContext.abortWith(Response.ok(headerValue == null ? "null" : headerValue).build());

}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    JsonObjectBuilder allClientHeaders = Json.createObjectBuilder();
    MultivaluedMap<String, Object> clientHeaders = clientRequestContext.getHeaders();
    for (String headerName : clientHeaders.keySet()) {
        allClientHeaders.add(headerName, clientHeaders.getFirst(headerName).toString());
    }
    clientRequestContext.abortWith(Response.ok(allClientHeaders.build()).build());

}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    String httpMethod = clientRequestContext.getMethod();
    if ("MYMETHOD".equals(httpMethod)) {
        clientRequestContext.abortWith(Response.ok(httpMethod).build());
    }
    else {
        clientRequestContext.abortWith(Response.status(405).entity(httpMethod).build());
    }
}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    String body = (String)clientRequestContext.getEntity();
    String query = clientRequestContext.getUri().getQuery();
    Cookie cookie = clientRequestContext.getCookies().get("cookie");
    String cookieValue = cookie==null?"null":cookie.getValue();
    String header = clientRequestContext.getHeaderString("MyHeader");
    clientRequestContext.abortWith(Response.ok(query + " " + cookieValue + " " + header + " " + body).build());
}
 
源代码9 项目: cxf   文件: ReturnAllOutboundHeadersFilter.java
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
    StringBuilder sb = new StringBuilder();
    requestContext.getStringHeaders().forEach((k, v) -> {
        sb.append(k).append('=').append(v.stream().collect(Collectors.joining(",")))
            .append(System.lineSeparator());
    });
    requestContext.abortWith(Response.ok(sb.toString()).build());
}
 
源代码10 项目: cxf   文件: ClientRequestFilterTest.java
/** {@inheritDoc}*/
@Override
public void filter(ClientRequestContext context) throws IOException {
    Object o = context.getHeaders().getFirst("MyHeader");
    Response r = (o instanceof String) ? Response.ok(o).build() : Response.serverError().build();
    context.abortWith(r);
}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    clientRequestContext.abortWith(Response.ok("OK").build());
}
 
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
    clientRequestContext.abortWith(Response.serverError().build());
}
 
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
    requestContext.abortWith(Response.status(beanManager != null  && postConstructInvoked ? 200 : 204).build());
}
 
源代码14 项目: cxf   文件: JAXRS20ClientServerBookTest.java
@Override
public void filter(ClientRequestContext context) throws IOException {
    context.abortWith(Response.status(201).entity(context.getEntity()).type(MediaType.TEXT_XML_TYPE).build());
}
 
源代码15 项目: cxf   文件: EchoClientReqFilter.java
@Override
public void filter(ClientRequestContext crc) throws IOException {
    crc.abortWith(Response.ok(crc.getEntity()).build());
}
 
源代码16 项目: cxf   文件: HighPriorityClientReqFilter.java
@Override
public void filter(ClientRequestContext paramClientRequestContext) throws IOException {
    paramClientRequestContext.abortWith(Response.ok("high").build());
}
 
源代码17 项目: cxf   文件: HeaderCaptureClientRequestFilter.java
@Override
public void filter(ClientRequestContext ctx) throws IOException {
    setOutboundHeaders(ctx.getStringHeaders());
    ctx.abortWith(Response.ok("SUCCESS").build());
}
 
源代码18 项目: cxf   文件: NotFoundClientReqFilter.java
@Override
public void filter(ClientRequestContext crc) throws IOException {
    crc.abortWith(Response.status(404).entity(crc.getEntity()).build());
}
 
源代码19 项目: cxf   文件: LowPriorityClientReqFilter.java
@Override
public void filter(ClientRequestContext paramClientRequestContext) throws IOException {
    paramClientRequestContext.abortWith(Response.ok("low").build());
}
 
源代码20 项目: cxf   文件: CacheControlClientRequestFilter.java
@Override
public void filter(final ClientRequestContext request) throws IOException {
    if (!HttpMethod.GET.equals(request.getMethod())) {
        //TODO: Review the possibility of supporting POST responses, example,
        //      POST create request may get a created entity representation returned
        request.setProperty(NO_CACHE_PROPERTY, "true");
        return;
    }
    final URI uri = request.getUri();
    final String accepts = request.getHeaderString(HttpHeaders.ACCEPT);
    final Key key = new Key(uri, accepts);
    Entry entry = cache.get(key);
    if (entry != null) {
        //TODO: do the extra validation against the conditional headers
        //      which may be contained in the current request
        if (entry.isOutDated()) {
            String ifNoneMatchHeader = entry.getCacheHeaders().get(HttpHeaders.IF_NONE_MATCH);
            String ifModifiedSinceHeader = entry.getCacheHeaders().get(HttpHeaders.IF_MODIFIED_SINCE);

            if (StringUtils.isEmpty(ifNoneMatchHeader) && StringUtils.isEmpty(ifModifiedSinceHeader)) {
                cache.remove(key, entry);
            } else {
                request.getHeaders().add(HttpHeaders.IF_NONE_MATCH, ifNoneMatchHeader);
                request.getHeaders().add(HttpHeaders.IF_MODIFIED_SINCE, ifModifiedSinceHeader);
                request.setProperty(CACHED_ENTITY_PROPERTY, entry.getData());
            }
        } else {
            Object cachedEntity = entry.getData();
            Response.ResponseBuilder ok = Response.ok(cachedEntity);
            if (entry.getHeaders() != null) {
                for (Map.Entry<String, List<String>> h : entry.getHeaders().entrySet()) {
                    for (final Object instance : h.getValue()) {
                        ok = ok.header(h.getKey(), instance);
                    }
                }
            }
            request.setProperty(CACHED_ENTITY_PROPERTY, cachedEntity);
            request.abortWith(ok.build());
        }
    }
    // Should the map of all request headers shared ?
    request.setProperty(CLIENT_ACCEPTS, accepts);
    request.setProperty(CLIENT_CACHE_CONTROL, request.getHeaderString(HttpHeaders.CACHE_CONTROL));
}