本文整理汇总了Java中org.jboss.resteasy.client.jaxrs.internal.ClientInvocation类的典型用法代码示例。如果您正苦于以下问题:Java ClientInvocation类的具体用法?Java ClientInvocation怎么用?Java ClientInvocation使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClientInvocation类属于org.jboss.resteasy.client.jaxrs.internal包,在下文中一共展示了ClientInvocation类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadHttpMethod
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
protected void loadHttpMethod(final ClientInvocation request, HttpRequestBase httpMethod)
throws Exception {
if (request.getEntity() != null) {
if (httpMethod instanceof HttpGet) {
throw new ProcessingException("A GET request cannot have a body.");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
request.getDelegatingOutputStream().setDelegate(baos);
try {
HttpEntity entity = buildEntity(request);
HttpPost post = (HttpPost) httpMethod;
commitHeaders(request, httpMethod);
post.setEntity(entity);
} catch (IOException e) {
throw new RuntimeException(e);
}
} else // no body
{
commitHeaders(request, httpMethod);
}
}
示例2: buildEntity
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
/**
* Build the HttpEntity to be sent to the Service as part of (POST) request. Creates a off-memory
* {@link FileExposingFileEntity} or a regular in-memory {@link ByteArrayEntity} depending on if the request
* OutputStream fit into memory when built by calling.
*
* @param request -
* @return - the built HttpEntity
* @throws IOException -
*/
protected HttpEntity buildEntity(final ClientInvocation request) throws IOException {
HttpEntity entityToBuild = null;
DeferredFileOutputStream memoryManagedOutStream = writeRequestBodyToOutputStream(request);
if (memoryManagedOutStream.isInMemory()) {
ByteArrayEntity entityToBuildByteArray =
new ByteArrayEntity(memoryManagedOutStream.getData());
entityToBuildByteArray.setContentType(
new BasicHeader(HTTP.CONTENT_TYPE, request.getHeaders().getMediaType().toString()));
entityToBuild = entityToBuildByteArray;
} else {
File requestBodyFile = memoryManagedOutStream.getFile();
requestBodyFile.deleteOnExit();
entityToBuild = new FileExposingFileEntity(
memoryManagedOutStream.getFile(), request.getHeaders().getMediaType().toString());
}
return entityToBuild;
}
示例3: createRequest
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private MockHttpRequest createRequest(ClientInvocation request) {
MockHttpRequest mockRequest =
MockHttpRequest.create(request.getMethod(), request.getUri(), baseUri);
if (request.getEntity() != null) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
request.getDelegatingOutputStream().setDelegate(baos);
try {
request.writeRequestBody(request.getEntityStream());
baos.close();
} catch (IOException ioe) {
throw new RuntimeException(ioe);
}
mockRequest.setInputStream(new ByteArrayInputStream(baos.toByteArray()));
}
MultivaluedMap<String, String> requestHeaders = request.getHeaders().asMap();
mockRequest.getMutableHeaders().putAll(requestHeaders);
copyCookies(mockRequest, requestHeaders);
return mockRequest;
}
示例4: commitHeaders
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
protected void commitHeaders(ClientInvocation request, HttpRequestBase httpMethod) {
MultivaluedMap<String, String> headers = request.getHeaders().asMap();
for (Map.Entry<String, List<String>> header : headers.entrySet()) {
List<String> values = header.getValue();
for (String value : values) {
// System.out.println(String.format("setting %s = %s", header.getKey(), value));
httpMethod.addHeader(header.getKey(), value);
}
}
}
示例5: writeRequestBodyToOutputStream
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
/**
* Creates the request OutputStream, to be sent to the end Service invoked, as a
* <a href="http://commons.apache.org/io/api-release/org/apache/commons/io/output/DeferredFileOutputStream.html"
* >DeferredFileOutputStream</a>.
*
*
* @param request -
* @return - DeferredFileOutputStream with the ClientRequest written out per HTTP specification.
* @throws IOException -
*/
private DeferredFileOutputStream writeRequestBodyToOutputStream(final ClientInvocation request)
throws IOException {
DeferredFileOutputStream memoryManagedOutStream =
new DeferredFileOutputStream(
this.fileUploadInMemoryThresholdLimit * getMemoryUnitMultiplier(),
getTempfilePrefix(), ".tmp", this.fileUploadTempFileDir);
request.getDelegatingOutputStream().setDelegate(memoryManagedOutStream);
request.writeRequestBody(request.getEntityStream());
memoryManagedOutStream.close();
return memoryManagedOutStream;
}
示例6: invoke
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
@Override
public ClientResponse invoke(ClientInvocation request) {
Request req = createRequest(request);
Response response;
try {
response = client.newCall(req).execute();
} catch (IOException e) {
throw new ProcessingException("Unable to invoke request", e);
}
return createResponse(request, response);
}
示例7: createRequest
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private Request createRequest(ClientInvocation request) {
Request.Builder builder =
new Request.Builder()
.method(request.getMethod(), createRequestBody(request))
.url(request.getUri().toString());
for (Map.Entry<String, List<String>> header : request.getHeaders().asMap().entrySet()) {
String headerName = header.getKey();
for (String headerValue : header.getValue()) {
builder.addHeader(headerName, headerValue);
}
}
return builder.build();
}
示例8: createRequestBody
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private RequestBody createRequestBody(final ClientInvocation request) {
if (request.getEntity() == null) {
return null;
}
// NOTE: this will invoke WriterInterceptors which can possibly change the request,
// so it must be done first, before reading any header.
final Buffer buffer = new Buffer();
try {
request.writeRequestBody(buffer.outputStream());
} catch (IOException e) {
throw new RuntimeException(e);
}
javax.ws.rs.core.MediaType mediaType = request.getHeaders().getMediaType();
final MediaType contentType =
(mediaType == null) ? null : MediaType.parse(mediaType.toString());
return new RequestBody() {
@Override
public long contentLength() throws IOException {
return buffer.size();
}
@Override
public MediaType contentType() {
return contentType;
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
buffer.copyTo(sink.buffer(), 0, buffer.size());
}
};
}
示例9: invoke
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
@Override
public ClientResponse invoke(ClientInvocation request) {
MockHttpRequest mockRequest = createRequest(request);
MockHttpResponse mockResponse = new MockHttpResponse();
dispatcher.invoke(mockRequest, mockResponse);
return createResponse(request, mockResponse);
}
示例10: createResponse
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private ClientResponse createResponse(
final ClientInvocation request, final MockHttpResponse mockResponse) {
ClientResponse response =
new ClientResponse(request.getClientConfiguration()) {
private InputStream inputStream;
@Override
protected InputStream getInputStream() {
if (inputStream == null) {
inputStream = new ByteArrayInputStream(mockResponse.getOutput());
}
return inputStream;
}
@Override
protected void setInputStream(InputStream is) {
inputStream = is;
}
@Override
public void releaseConnection() throws IOException {
// no-op
}
};
response.setStatus(mockResponse.getStatus());
response.setHeaders(
transformHeaders(mockResponse.getOutputHeaders(), mockResponse.getNewCookies()));
return response;
}
示例11: createResponse
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private ClientResponse createResponse(ClientInvocation request, final Response response) {
ClientResponse clientResponse =
new ClientResponse(request.getClientConfiguration()) {
private InputStream stream;
@Override
protected InputStream getInputStream() {
if (stream == null) {
stream = response.body().byteStream();
}
return stream;
}
@Override
protected void setInputStream(InputStream is) {
stream = is;
}
@Override
public void releaseConnection() throws IOException {
// Stream might have been entirely replaced, so we need to close it independently from response.body()
Throwable primaryExc = null;
try {
if (stream != null) {
stream.close();
}
} catch (Throwable t) {
primaryExc = t;
throw t;
} finally {
if (primaryExc != null) {
try {
response.body().close();
} catch (Throwable suppressedExc) {
primaryExc.addSuppressed(suppressedExc);
}
} else {
response.body().close();
}
}
}
};
clientResponse.setStatus(response.code());
clientResponse.setHeaders(transformHeaders(response.headers()));
return clientResponse;
}
示例12: createResponse
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation; //导入依赖的package包/类
private ClientResponse createResponse(ClientInvocation request, final Response response) {
ClientResponse clientResponse =
new ClientResponse(request.getClientConfiguration()) {
private InputStream stream;
@Override
protected InputStream getInputStream() {
if (stream == null) {
try {
stream = response.body().byteStream();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return stream;
}
@Override
protected void setInputStream(InputStream is) {
stream = is;
}
@Override
public void releaseConnection() throws IOException {
// Stream might have been entirely replaced, so we need to close it independently from response.body()
Throwable primaryExc = null;
try {
if (stream != null) {
stream.close();
}
} catch (Throwable t) {
primaryExc = t;
throw t;
} finally {
if (primaryExc != null) {
try {
response.body().close();
} catch (Throwable suppressedExc) {
primaryExc.addSuppressed(suppressedExc);
}
} else {
response.body().close();
}
}
}
};
clientResponse.setStatus(response.code());
clientResponse.setHeaders(transformHeaders(response.headers()));
return clientResponse;
}