httpd_util(3)



httpd_util(3erl)           Erlang Module Definition           httpd_util(3erl)

NAME
       httpd_util - Miscellaneous utility functions to be used when implement-
       ing
         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 = calendar:datetime()

              convert_request_date/1  converts  DateString  to the Erlang date
              format. DateString must be in one of the three date formats  de-
              fined in 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 ker-
              nel/include/file.hrl.

       day(NthDayOfWeek) -> DayOfWeek

              Types:

                 NthDayOfWeek = 1-7
                 DayOfWeek = string()

              day/1  converts the day of the week (NthDayOfWeek) from an inte-
              ger (1-7) to an abbreviated string, that is:

              1 = "Mon", 2 = "Tue", ..., 7 = "Sat".

       decode_hex(HexValue) -> DecValue

              Types:

                 HexValue = DecValue = string()

              Converts the hexadecimal value HexValue into its decimal equiva-
              lent (DecValue).

       flatlength(NestedList) -> Size

              Types:

                 NestedList = list()
                 Size = integer()

              flatlength/1 computes the size of the possibly nested list Nest-
              edList, which can contain binaries.

       hexlist_to_integer(HexString) -> Number

              Types:

                 Number = integer()
                 HexString = string()

              hexlist_to_integer converts 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 representing Number in a
              hexadecimal form.

       lookup(ETSTable,Key) -> Result
       lookup(ETSTable,Key,Undefined) -> 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)
       lookup_mime(ConfigDB,Suffix,Undefined) -> MimeType

              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 file mime.types (located in  the
              config directory).

       lookup_mime_default(ConfigDB,Suffix)
       lookup_mime_default(ConfigDB,Suffix,Undefined) -> MimeType

              Types:

                 ConfigDB = ets_table()
                 Suffix = string()
                 MimeType = string() | undefined | Undefined
                 Undefined = term()

              lookup_mime_default returns the MIME type associated with a spe-
              cific file suffix as specified in the mime.types  file  (located
              in  the  config  directory).  If  no  appropriate association is
              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:

                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  unavail-
                  able.

       month(NthMonth) -> Month

              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 all Values associated with 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 Description of an HTTP 1.1 StatusCode, for
              example, 200 is "OK" and 201 is "Created". For more information,
              see RFC 2616.

       rfc1123_date() -> RFC1123Date
       rfc1123_date(Date) -> RFC1123Date

              Types:

                  Date = calendar:datetime()
                 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 String in  N  chunks  using  RegExp.  split/3  is
              equivalent  to  regexp:split/2 with the exception that N defines
              the maximum number of fields in 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  ex-
              ception. If the longest possible path is not a regular, accessi-
              ble, and executable file, then not_a_script is returned.

       split_path(RequestLine) -> {Path,QueryStringOrPathInfo}

              Types:

                 RequestLine = Path = QueryStringOrPathInfo = string()

              split_path/1 splits RequestLine in a file reference (Path),  and
              a  QueryString  or a PathInfo string as specified in RFC 2616. A
              QueryString is isolated from Path with a question mark  (?)  and
              PathInfo  with a slash (/). In the case of a QueryString, every-
              thing before ? is a Path and everything after  ?  is  a  QueryS-
              tring.  In  the  case of a PathInfo, 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, iso-
              lated 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 is to be read as  horizontal  tab
              or space.

       suffix(FileName) -> Suffix

              Types:

                 FileName = Suffix = string()

              suffix/1  is  equivalent to filename:extension/1 with the excep-
              tion that Suffix is returned without a leading dot (.).

SEE ALSO
       httpd(3erl)

Ericsson AB                        inets 7.2                  httpd_util(3erl)

Man(1) output converted with man2html
list of all man pages