Packages
raxx
0.12.0
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/header/server.ex
# TODO namespace under headers or not
# defmodule Raxx.Server do
# @moduledoc """
# Manipulate server header on raxx messages
#
# """
#
# @field_name "server"
#
# @doc """
# Read server of the HTTP message.
#
# ## Examples
#
# iex> %Raxx.Request{headers: [{"server", "Apache"}]} |> Raxx.Server.fetch
# {:ok, "Apache"}
#
# iex> %Raxx.Request{headers: []} |> Raxx.Server.fetch
# {:error, :field_value_not_specified}
#
# iex> %Raxx.Request{headers: [{"server", "Apache"}, {"server", "NginX"}]} |> Raxx.Server.fetch
# {:error, :duplicated_field}
# """
# def fetch(%{headers: headers}) do
# case :proplists.lookup_all(@field_name,headers) do
# [{@field_name, field_binary}] ->
# parse_field_value(field_binary)
# [] ->
# {:error, :field_value_not_specified}
# _ ->
# {:error, :duplicated_field}
# end
# end
#
# @doc """
# Set the server of a HTTP message.
#
# ## Examples
#
# iex> %Raxx.Request{} |> Raxx.Server.set("Apache") |> Map.get(:headers)
# [{"server", "Apache"}]
#
# iex> %Raxx.Request{headers: [{"server", "NginX"}]} |> Raxx.Server.set("Apache") |> Map.get(:headers)
# [{"server", "Apache"}]
# """
# def set(message = %{headers: headers}, user_agent) do
# headers = :proplists.delete(@field_name, headers)
# headers = [{@field_name, user_agent} | headers]
# %{message | headers: headers}
# end
#
# defp parse_field_value(user_agent) do
# {:ok, user_agent}
# end
# end