table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
httpd_util(3erl) | Erlang Module Definition | httpd_util(3erl) |
NAME¶
httpd_util - Miscellaneous utility functions to be used when implementing Erlang Web server API modules.DESCRIPTION¶
This module provides the Erlang Web Server API module programmer with miscellaneous utility functions.EXPORTS¶
convert_request_date(DateString) -> ErlDate|bad_date
Types:
DateString = string()
ErlDate = {{Year,Month,Date},{Hour,Min,Sec}}
Year = Month = Date = Hour = Min = Sec = integer()
convert_request_date/1 converts DateString to the Erlang date
format. DateString must be in one of the three date formats that is defined in
the RFC 2616.
create_etag(FileInfo) -> Etag
Types:
FileInfo = file_info()
Etag = string()
create_etag/1 calculates the Etag for a file, from its size and time for
last modification. fileinfo is a record defined in
kernel/include/file.hrl
decode_hex(HexValue) -> DecValue
Types:
HexValue = DecValue = string()
Converts the hexadecimal value HexValue into its decimal equivalent
(DecValue).
day(NthDayOfWeek) -> DayOfWeek
Types:
NthDayOfWeek = 1-7
DayOfWeek = string()
day/1 converts the day of the week (NthDayOfWeek) as an integer
(1-7) to an abbreviated string, that is:
1 = "Mon", 2 = "Tue", ..., 7 = "Sat".
flatlength(NestedList) -> Size
Types:
NestedList = list()
Size = integer()
flatlength/1 computes the size of the possibly nested list
NestedList. Which may contain binaries.
hexlist_to_integer(HexString) -> Number
Types:
Number = integer()
HexString = string()
hexlist_to_integer Convert the Hexadecimal value of HexString to an
integer.
integer_to_hexlist(Number) -> HexString
Types:
Number = integer()
HexString = string()
integer_to_hexlist/1 Returns a string that represents the Number in a
Hexadecimal form.
lookup(ETSTable,Key) -> Result
Types:
ETSTable = ets_table()
Key = term()
Result = term() | undefined | Undefined
Undefined = term()
lookup extracts {Key,Value} tuples from ETSTable and
returns the Value associated with Key. If ETSTable is of
type bag only the first Value associated with Key is
returned. lookup/2 returns undefined and lookup/3 returns
Undefined if no Value is found.
lookup_mime(ConfigDB,Suffix)
Types:
ConfigDB = ets_table()
Suffix = string()
MimeType = string() | undefined | Undefined
Undefined = term()
lookup_mime returns the mime type associated with a specific file suffix
as specified in the mime.types file (located in the config
directory).
lookup_mime_default(ConfigDB,Suffix)
Types:
ConfigDB = ets_table()
Suffix = string()
MimeType = string() | undefined | Undefined
Undefined = term()
lookup_mime_default returns the mime type associated with a specific file
suffix as specified in the mime.types file (located in the config
directory). If no appropriate association can be found the value of
DefaultType is returned.
message(StatusCode,PhraseArgs,ConfigDB) -> Message
Types:
StatusCode = 301 | 400 | 403 | 404 | 500 | 501 | 504
PhraseArgs = term()
ConfigDB = ets_table
Message = string()
message/3 returns an informative HTTP 1.1 status string in HTML. Each
StatusCode requires a specific PhraseArgs:
month(NthMonth) -> Month
- 301:
- string(): A URL pointing at the new document position.
- 400 | 401 | 500:
- none (No PhraseArgs)
- 403 | 404:
- string(): A Request-URI as described in RFC 2616.
- 501:
- {Method,RequestURI,HTTPVersion}: The HTTP Method, Request-URI and HTTP-Version as defined in RFC 2616.
- 504:
- string(): A string describing why the service was unavailable.
Types:
NthMonth = 1-12
Month = string()
month/1 converts the month NthMonth as an integer (1-12) to an
abbreviated string, that is:
1 = "Jan", 2 = "Feb", ..., 12 = "Dec".
multi_lookup(ETSTable,Key) -> Result
Types:
ETSTable = ets_table()
Key = term()
Result = [term()]
multi_lookup extracts all {Key,Value} tuples from an
ETSTable and returns allValues associated with the
Key in a list.
reason_phrase(StatusCode) -> Description
Types:
StatusCode = 100| 200 | 201 | 202 | 204 | 205 | 206 | 300
| 301 | 302 | 303 | 304 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 410 411 |
412 | 413 | 414 415 | 416 | 417 | 500 | 501 | 502 | 503 | 504 | 505
Description = string()
reason_phrase returns the Description of an HTTP 1.1
StatusCode, for example 200 is "OK" and 201 is
"Created". Read RFC 2616 for further information.
rfc1123_date() -> RFC1123Date
Types:
YYYY = MM = DD = Hour = Min = Sec = integer()
RFC1123Date = string()
rfc1123_date/0 returns the current date in RFC 1123 format.
rfc_date/1 converts the date in the Erlang format to the RFC 1123 date
format.
split(String,RegExp,N) -> SplitRes
Types:
String = RegExp = string()
SplitRes = {ok, FieldList} | {error, errordesc()}
Fieldlist = [string()]
N = integer
split/3 splits the String in N chunks using the
RegExp. split/3 is is equivalent to regexp:split/2 with
one exception, that is N defines the number of maximum number of fields
in the FieldList.
split_script_path(RequestLine) -> Splitted
Types:
RequestLine = string()
Splitted = not_a_script | {Path, PathInfo, QueryString}
Path = QueryString = PathInfo = string()
split_script_path/1 is equivalent to split_path/1 with one
exception. If the longest possible path is not a regular, accessible and
executable file not_a_script is returned.
split_path(RequestLine) -> {Path,QueryStringOrPathInfo}
Types:
RequestLine = Path = QueryStringOrPathInfo = string()
split_path/1 splits the RequestLine in a file reference
(Path) and a QueryString or a PathInfo string as
specified in RFC 2616. A QueryString is isolated from the Path
with a question mark ( ?) and PathInfo with a slash (/). In the
case of a QueryString, everything before the ? is a Path
and everything after a QueryString. In the case of a PathInfo
the RequestLine is scanned from left-to-right on the hunt for longest
possible Path being a file or a directory. Everything after the longest
possible Path, isolated with a /, is regarded as
PathInfo. The resulting Path is decoded using
decode_hex/1 before delivery.
strip(String) -> Stripped
Types:
String = Stripped = string()
strip/1 removes any leading or trailing linear white space from the
string. Linear white space should be read as horizontal tab or space.
suffix(FileName) -> Suffix
Types:
FileName = Suffix = string()
suffix/1 is equivalent to filename:extension/1 with one exception,
that is Suffix is returned without a leading dot (.).
SEE ALSO¶
httpd(3erl)inets 5.10.3 | Ericsson AB |