Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
httpd_util(3)		   Erlang Module Definition		 httpd_util(3)

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(3)

Ericsson AB			  inets	7.0.6			 httpd_util(3)

NAME | DESCRIPTION | EXPORTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=httpd_util&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help