anchor.diff:      Port = start(gen_tcp, [fun large_chunked_response/5]),
       URL = url(Port, "/partial_download_identity"),
       PartialDownload = [
  -        {window_size, 1}
  +        {window_size, 1},
  +        {part_size, length(?LONG_BODY_PART) * 3}
       ],
       Options = [{partial_download, PartialDownload}],
       {ok, {Status, _, Pid}} =
  
positive.code:         {window_size, infinity}
      ],
      Options = [{partial_download, PartialDownload}],
      {ok, {Status, _, Pid}} =
          lhttpc:request(URL, get, [], <<>>, 1000, Options),
      Body = read_partial_body(Pid),
      ?assertEqual({200, "OK"}, Status),
      ?assertEqual(<<?LONG_BODY_PART ?LONG_BODY_PART ?LONG_BODY_PART>>, Body).
  
negative.code:     Module:send(Socket, Chunk),
      Module:send(Socket, "0\r\n\r\n").
  
  slow_chunked_response(Module, Socket, _, _, _) ->
      ChunkSize = erlang:integer_to_list(length(?LONG_BODY_PART) * 2, 16),
      Module:send(
          Socket,
          [
              "HTTP/1.1 200 OK\r\n"
              "Content-type: text/plain\r\n"
              "Transfer-Encoding: chunked\r\n\r\n"
          ]),
      Module:send(Socket, [ChunkSize, "\r\n", <<?LONG_BODY_PART>>]),
      timer:sleep(200),
      Module:send(Socket, [<<?LONG_BODY_PART>>, "\r\n"]),
      Module:send(Socket, "0\r\n\r\n").
  
  
  chunked_upload(Module, Socket, _, Headers, <<>>) ->
      TransferEncoding = lhttpc_lib:header_value("transfer-encoding", Headers),
      {Body, HeadersAndTrailers} =
  