Packages
tz
0.13.0
0.28.2
0.28.1
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.6
0.26.5
0.26.4
0.26.3
0.26.2
0.26.1
0.26.0
0.25.1
0.25.0
0.24.0
0.23.0
0.22.0
0.21.1
0.21.0
0.20.1
0.20.0
0.19.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Time zone support for Elixir
Current section
Files
Jump to
Current section
Files
lib/http/http_response.ex
defmodule Tz.HTTP.HTTPResponse do
@moduledoc false
defstruct status_code: nil, headers: nil, body: [], complete?: false
def parse([{:status, _, status_code} | mint_messages], %__MODULE__{} = http_response) do
parse(mint_messages, %{http_response | status_code: status_code})
end
def parse([{:headers, _, headers} | mint_messages], %__MODULE__{} = http_response) do
parse(mint_messages, %{http_response | headers: headers})
end
def parse([{:data, _, data} | mint_messages], %__MODULE__{} = http_response) do
parse(mint_messages, %{http_response | body: [data | http_response.body]})
end
def parse([{:done, _}], %__MODULE__{} = http_response) do
{:ok, %{http_response | body: Enum.reverse(http_response.body), complete?: true}}
end
def parse([], http_response), do: {:ok, http_response}
end