下面列出了javax.ws.rs.client.ClientRequestContext#getMethod ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
final HttpClientRequest httpClientRequest = new HttpClientRequest() {
@Override
public void addHeader(String s, String s1) {
clientRequestContext.getHeaders().add(s, s1);
}
@Override
public URI getUri() {
return clientRequestContext.getUri();
}
@Override
public String getHttpMethod() {
return clientRequestContext.getMethod();
}
};
requestInterceptor.handle(new HttpClientRequestAdapter(httpClientRequest, spanNameProvider));
}
@Override
public void filter(ClientRequestContext rc) throws IOException {
String method = rc.getMethod();
String expectedMethod = null;
if (rc.getAcceptableMediaTypes().contains(MediaType.valueOf("text/mistypedxml"))
&& rc.getHeaders().getFirst("THEMETHOD") != null) {
expectedMethod = MediaType.TEXT_XML_TYPE.equals(rc.getMediaType()) ? "DELETE" : "GET";
rc.setUri(URI.create("http://localhost:" + PORT + "/bookstore/books2"));
rc.setMethod(rc.getHeaders().getFirst("THEMETHOD").toString());
if ("GET".equals(expectedMethod)) {
rc.getHeaders().putSingle("Content-Type", "text/xml");
}
} else {
expectedMethod = "POST";
}
if (!expectedMethod.equals(method)) {
throw new RuntimeException();
}
if ("GET".equals(expectedMethod)) {
rc.setEntity(new Book("book", 560L));
} else {
rc.setEntity(new Book("book", ((Book)rc.getEntity()).getId() + 5));
}
}
private static String formatMessage(ClientRequestContext request, ClientResponseContext response) {
String method = request.getMethod();
String url = request.getUri().toString();
int statusCode = response.getStatus();
String statusText = response.getStatusInfo().getReasonPhrase();
return String.format("%s %s: %d %s", method, url, statusCode, statusText);
}
@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(final ClientRequestContext requestContext) throws IOException {
final TraceScopeHolder<TraceScope> holder = super.startTraceSpan(requestContext.getStringHeaders(),
requestContext.getUri(), requestContext.getMethod());
if (holder != null) {
requestContext.setProperty(TRACE_SPAN, holder);
}
}
@Override
public void filter(final ClientRequestContext requestContext) throws IOException {
final TraceScopeHolder<TraceScope> holder = super.startTraceSpan(requestContext.getStringHeaders(),
requestContext.getUri(), requestContext.getMethod());
if (holder != null) {
requestContext.setProperty(TRACE_SPAN, holder);
}
}
@Override
public void filter(ClientRequestContext requestContext) {
// Only sign the request if we have no Body.
if (requestContext.getEntity() == null) {
String method = requestContext.getMethod();
String path = requestContext.getUri().getPath();
performSignature(requestContext.getHeaders(), path, method);
}
}
@Nullable
@Override
public String getMethod(ClientRequestContext request) {
return request.getMethod();
}