httpd_util
httpd_util
模块
httpd_util
模块摘要
在实现 Erlang Web 服务器 API 模块时使用杂项实用功能。
描述
该模块为 Erlang 网络服务器API模块程序员提供了各种实用功能。
出口
convert_request_date(DateString) -> ErlDate|bad_date
类型
convert_request_date/1
转换DateString
为 Erlang 日期格式。DateString
必须使用在RFC 2616
中定义的三种日期格式之一。
create_etag(FileInfo) -> Etag
类型
根据上次修改的大小和时间create_etag/1
计算文件的Etag。FileInfo
是一个记录中定义的kernel/include/file.hrl
。
day(NthDayOfWeek) -> DayOfWeek
类型
day/1
将星期几(NthDayOfWeek
)从一个整数(1-7)转换为一个缩写字符串,即:
1=“Mon”,2=“Tue”,...,7=“sat”。
decode_hex(HexValue) -> DecValue
类型
将十六进制值HexValue
转换为其十进制等效值(DecValue
)。
flatlength(NestedList) -> Size
类型
flatlength/1
计算可能NestedList
包含二进制文件的可能嵌套列表的大小。
hexlist_to_integer(HexString) -> Number
类型
hexlist_to_integer
将十六进制值转换为HexString
整数。
integer_to_hexlist(Number) -> HexString
类型
integer_to_hexlist/1
返回一个Number
以十六进制形式表示的字符串。
lookup(ETSTable,Key) -> Resultlookup(ETSTable,Key,Undefined) -> Result
类型
lookup{Key,Value}
从中提取元组ETSTable
并返回Value
相关的元组Key
。如果ETSTable
是类型bag
,则只返回Value
与之关联的第一个Key
。如果没有找到,则lookup/2
返回undefined
和lookup/3
返回。UndefinedValue
lookup_mime(ConfigDB,Suffix)lookup_mime(ConfigDB,Suffix,Undefined) -> MimeType
类型
lookup_mime
返回与文件中指定的特定文件后缀相关联的 MIME 类型mime.types
(位于 config 目录中)。
lookup_mime_default(ConfigDB,Suffix)lookup_mime_default(ConfigDB,Suffix,Undefined) -> MimeType
类型
lookup_mime_default
返回与文件中指定的特定文件后缀相关联的 MIME 类型mime.types
(位于 config 目录中)。如果找不到适当的关联,DefaultType
则返回值。
message(StatusCode,PhraseArgs,ConfigDB) -> Message
类型
message/3
返回 HTML 中的信息性 HTTP 1.1 状态字符串。每个都StatusCode
需要特定的PhraseArgs
:
301
string()
:指向新文档位置的 URL。
400 | 401 | 500
none
(非PhraseArgs
)。
403 | 404
string()
: Request-URIRFC 2616
中所述。
501
{Method,RequestURI,HTTPVersion}
:HTTP Method
,Request-URI
以及HTTP-Version
在 RFC 2616 中定义的。
504
string()
:描述服务不可用的原因的字符串。
month(NthMonth) -> Month
类型
month/1
将月份NthMonth
作为整数(1-12)转换为缩写字符串,即:
1 =“Jan”,2 =“Feb”,...,12 =“Dec”。
multi_lookup(ETSTable,Key) -> Result
类型
multi_lookup{Key,Value}
从ETSTable
中提取所有
元组并返回列表中的所有
Values
关联元素Key
。
reason_phrase(StatusCode) -> Description
类型
HTTP 1.1StatusCode
的Description
返回reason_phrase
201是“Created”值,例如200是“OK”,。有关更多信息,请参阅RFC 2616
。
rfc1123_date() -> RFC1123Daterfc1123_date{{YYYY,MM,DD},{Hour,Min,Sec}}) -> RFC1123Date
类型
以 RFC 1123格式返回rfc1123_date/0
当前日期。rfc_date/1
将 Erlang 格式的日期转换为 RFC 1123日期格式。
split(String,RegExp,N) -> SplitRes
类型
split/3
拆分String
中N
使用的块RegExp
。split/3
等同于定义最大字段数regexp:split/2
的例外。NFieldList
split_script_path(RequestLine) -> Splitted
类型
split_script_path/1
相当于split_path/1
有一个例外。如果最长的路径不是常规的,可访问的和可执行文件,则not_a_script
返回。
split_path(RequestLine) -> {Path,QueryStringOrPathInfo}
类型
split_path/1RequestLine
在文件引用(Path
)中分割,以及在RFC 2616
中指定的一个QueryString
或一个PathInfo
字符串。Path
用问号(?
)和斜线(/
)QueryString
隔开。在QueryString
的情况下,?
之前的所有内容都是Path
,?
之后的所有内容都是QueryString
。在PathInfo
的情况下,RequestLine
从扫描的左到右在寻找最长Path
可能是一个文件或目录。尽可能Path
最长的一切,与一个/
隔离,被认为是PathInfo
。结果在交付decode_hex/1
之前使用Path
解码。
strip(String) -> Stripped
类型
strip/1
从字符串中删除任何前导或尾随的线性空白。线性空白空间应被视为水平制表符或空格。
suffix(FileName) -> Suffix
类型
suffix/1
相当于在不带前导点()filename:extension/1
的情况Suffix
下返回的异常.
。
另见
httpd(3)