anchor.diff:  %% download option `{window_size, WindowSize}' specifies how many part will be
   %% sent to the calling process before waiting for an acknowledgement. This is
   %% to create a kind of internal flow control if the calling process is slow to
  -%% process the body part and the network is considerably faster. Flow control
  -%% is disabled if `WindowSize' is `infinity'. If `WindowSize' is an integer it
  -%% must be >=0. The partial download option `{part_size, PartSize}' specifies
  -%% the size the body parts should come in. Note however that if the body size
  -%% is not determinable (e.g entity body is termintated by closing the socket)
  -%% it will be delivered in pieces as it is read from the wire. There is no
  -%% caching of the body parts until the amount reaches body size. If the body
  -%% size is bounded (e.g `Content-Length' specified or
  +%% process the body part and the network and server are considerably faster.
  +%% Flow control is disabled if `WindowSize' is `infinity'. If `WindowSize'
  +%% is an integer it must be >=0. The partial download option `{part_size,
  +%% PartSize}' specifies the size the body parts should come in. Note however
  +%% that if the body size is not determinable (e.g entity body is termintated
  +%% by closing the socket) it will be delivered in pieces as it is read from
  +%% the wire. There is no caching of the body parts until the amount reaches
  +%% body size. If the body size is bounded (e.g `Content-Length' specified or
   %% `Transfer-Encoding: chunked' specified) it will be delivered in `PartSize'
   %% pieces. Note however that the last piece might be smaller than `PartSize'.
   %% Size bounded entity bodies are handled the same way as unbounded ones if
   %% `PartSize' is `infinity'. If `PartSize' is integer it must be >= 0.
   %% If `{partial_download, PartialDownloadOptions}' is specified the 
  -%% `ResponseBody' is going to be a `pid()' unless the response has no body
  -%% (for example in case of `HEAD' requests). In that case it is going to be
  +%% `ResponseBody' will be a `pid()' unless the response has no body
  +%% (for example in case of `HEAD' requests). In that case it will be be
   %% `undefined'. 
  +%%
  +%% The functions {@link get_body_part/2} can be used to read body parts in
  +%% the calling process.
   %% @end
   -spec request(string(), 1..65535, true | false, string(), atom() | string(),
       headers(), iolist(), pos_integer(), [option()]) -> result().
  
positive.code: %%   Reason = connection_closed | connect_timeout | timeout
  %% @doc Sends trailers to an ongoing request when `{partial_upload,
  %% WindowSize}' is used and no `Content-Length' was specified. The default
  %% timout `infinity' will be used. Note that after this the request is
  %% considered complete and the response will be read from the socket. 
  %% Would be the same as calling
  %% `send_trailers(UploadState, BodyPart, infinity)'.
  
negative.code: %%
  %% `{connect_options, Options}' specifies options to pass to the socket at
  %% connect time. This makes it possible to specify both SSL options and
  %% regular socket options, such as which IP/Port to connect from etc.
  %% Some options must not be included here, namely the mode, `binary'
  %% or `list', `{active, boolean()}', `{active, once}' or `{packet, Packet}'.
  %% These options would confuse the client if they are included.
  %% Please note that these options will only have an effect on *new*
  %% connections, and it isn't possible for different requests
  %% to the same host uses different options unless the connection is closed
  %% between the requests. Using HTTP/1.0 or including the "Connection: close"
  %% header would make the client close the connection after the first
  %% response is received.
  %%
  %% `{send_retry, N}' specifies how many times the client should retry
  %% sending a request if the connection is closed after the data has been
  