Packages
raxx
0.10.4
1.1.0
1.0.1
1.0.0
1.0.0-rc.3
1.0.0-rc.2
retired
1.0.0-rc.1
retired
1.0.0-rc.0
retired
0.18.1
0.18.0
0.17.6
0.17.5
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.1
0.16.0
retired
0.15.11
0.15.10
0.15.9
0.15.8
0.15.7
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.14
0.14.13
0.14.12
0.14.11
0.14.10
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.1
0.11.0
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.0
0.0.1
Interface for HTTP webservers, frameworks and clients.
Current section
Files
Jump to
Current section
Files
lib/raxx/headers.ex
defmodule Raxx.Headers do
@moduledoc """
BETA: unsure if this module should world on request/response objects?
"""
@doc """
content type is a field of type media type (same as Accept)
https://tools.ietf.org/html/rfc7231#section-3.1.1.5
Content type should be send with any content.
If not can assume "application/octet-stream" or try content sniffing.
because of security risks it is recommended to be able to disable sniffing
"""
def content_type(%{headers: headers}) do
case :proplists.get_value("content-type", headers) do
:undefined ->
:undefined
media_type ->
parse_media_type(media_type)
end
end
@doc """
https://tools.ietf.org/html/rfc7231#section-3.1.1.1
"""
def parse_media_type(media_type) do
case String.split(media_type, ";") do
[type, modifier] ->
{type, String.strip(modifier)}
[type] ->
{type, ""}
end
end
end