Add an outgoing response bucket for usage with our server/listening mode.

Use this to hide some HTTP/1.1 requirements from server implementations.

* buckets/response_buckets.c
  (outgoing_response_t): New define.
  (serf_bucket_outgoing_response_create,
   serf_bucket_outgoing_response_get_headers,
   serf_bucket_outgoing_response_prepare): New public functions.
  (serialize_outgoing_response,
   serf_outgoing_resp_read,
   serf_outgoing_resp_read_iovec,
   serf_outgoing_resp_readline,
   serf_outgoing_resp_peek,
   serf_outgoing_resp_set_config,
   serf_outgoing_resp_destroy): New function.
  (serf_bucket_type_outgoing_response): New bucket type.

* incoming.c
  (http1_enqueue_reponse): If the response is an outgoing response bucket,
    prepare it for transfer over HTTP/1.1

* serf_bucket_types.h
  (serf_bucket_type_outgoing_response): New bucket.
  (SERF_BUCKET_IS_OUTGOING_RESPONSE): New define.
  (serf_bucket_outgoing_response_create,
   serf_bucket_outgoing_response_get_headers,
   serf_bucket_outgoing_response_prepare): New function.

* test/test_server.c
  (client_generate_response): Create proper response.


git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1717218 13f79535-47bb-0310-9956-ffa450edef68
4 files changed