Java 类org.apache.http.io.HttpMessageWriter 实例源码

项目:git-as-svn    文件:ProtobufRpcSocket.java   
private void acceptClient(@NotNull Socket client) throws IOException {
  final SessionInputBuffer inputBuffer = wrapInputStream(client.getInputStream());
  final HttpMessageParser<HttpRequest> parser = new DefaultHttpRequestParser(inputBuffer,
      new BasicLineParser(),
      new DefaultHttpRequestFactory(),
      MessageConstraints.DEFAULT
  );
  final SessionOutputBuffer outputBuffer = wrapOutputStream(client.getOutputStream());
  final HttpMessageWriter<HttpResponse> writer = new DefaultHttpResponseWriter(outputBuffer);
  while (!socket.isClosed()) {
    try {
      service(inputBuffer, outputBuffer, parser, writer);
    } catch (ConnectionClosedException ignored) {
      break;
    } catch (HttpException e) {
      log.error(e.getMessage(), e);
      break;
    }
  }
}
项目:git-as-svn    文件:ProtobufRpcSimpleHttp.java   
@SuppressWarnings("deprecation")
protected void service(@NotNull SessionInputBuffer inputBuffer, @NotNull SessionOutputBuffer outputBuffer, @NotNull HttpMessageParser<HttpRequest> parser, @NotNull HttpMessageWriter<HttpResponse> writer) throws IOException, HttpException {
  try {
    final HttpRequest request = parser.parse();
    final HttpEntity entity;
    if (request instanceof HttpEntityEnclosingRequest) {
      final EntityDeserializer deserializer = new EntityDeserializer(new LaxContentLengthStrategy());
      entity = deserializer.deserialize(inputBuffer, request);
      ((HttpEntityEnclosingRequest) request).setEntity(entity);
    } else {
      entity = null;
    }
    final HttpResponse response = service(request);
    if (entity != null) {
      entity.getContent().close();
    }
    if (response.getEntity() != null) {
      response.addHeader(HttpHeaders.CONTENT_LENGTH, Long.toString(response.getEntity().getContentLength()));
      response.addHeader(response.getEntity().getContentType());
      response.addHeader(response.getEntity().getContentEncoding());
    }
    response.setHeader(HttpHeaders.SERVER, "Protobuf RPC");
    writer.write(response);
    if (response.getEntity() != null) {
      final EntitySerializer serializer = new EntitySerializer(new LaxContentLengthStrategy());
      serializer.serialize(outputBuffer, response, response.getEntity());
    }
  } finally {
    outputBuffer.flush();
  }
}
项目:remote-files-sync    文件:DefaultHttpRequestWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpRequestWriter(buffer, lineFormatter);
}
项目:remote-files-sync    文件:DefaultHttpResponseWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpResponseWriter(buffer, lineFormatter);
}
项目:Visit    文件:DefaultHttpRequestWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpRequestWriter(buffer, lineFormatter);
}
项目:Visit    文件:DefaultHttpResponseWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpResponseWriter(buffer, lineFormatter);
}
项目:ZTLib    文件:DefaultHttpRequestWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpRequestWriter(buffer, lineFormatter);
}
项目:ZTLib    文件:DefaultHttpResponseWriterFactory.java   
public HttpMessageWriter create(final SessionOutputBuffer buffer) {
    return new DefaultHttpResponseWriter(buffer, lineFormatter);
}
项目:lams    文件:AbstractHttpClientConnection.java   
/**
 * Creates an instance of {@link HttpMessageWriter} to be used for
 * writing out HTTP requests sent over this connection.
 * <p>
 * This method can be overridden in a super class in order to provide
 * a different implementation of the {@link HttpMessageWriter} interface or
 * to pass a different implementation of {@link LineFormatter} to the
 * the default implementation {@link HttpRequestWriter}.
 *
 * @param buffer the session output buffer
 * @param params HTTP parameters
 * @return HTTP message writer
 */
protected HttpMessageWriter<HttpRequest> createRequestWriter(
        final SessionOutputBuffer buffer,
        final HttpParams params) {
    return new HttpRequestWriter(buffer, null, params);
}
项目:lams    文件:AbstractHttpServerConnection.java   
/**
 * Creates an instance of {@link HttpMessageWriter} to be used for
 * writing out HTTP responses sent over this connection.
 * <p>
 * This method can be overridden in a super class in order to provide
 * a different implementation of the {@link HttpMessageWriter} interface or
 * to pass a different implementation of {@link LineFormatter} to the
 * the default implementation {@link HttpResponseWriter}.
 *
 * @param buffer the session output buffer
 * @param params HTTP parameters
 * @return HTTP message writer
 */
protected HttpMessageWriter<HttpResponse> createResponseWriter(
        final SessionOutputBuffer buffer,
        final HttpParams params) {
    return new HttpResponseWriter(buffer, null, params);
}