Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 785

erlang-doc-R15B-03.3.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- httpd_util</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth ||
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){
                if (obj.addEventListener){
                obj.addEventListener(evType, fn, true);
                return true;
              } else if (obj.attachEvent){
                var r = obj.attachEvent("on"+evType, fn);
                return r;
              } else {
                return false;
              }
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/inets-5.9.2.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>inets</strong><br><strong>Reference Manual</strong><br><small>Version 5.9.2</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p>
<ul class="flipMenu">
<li id="no" title="inets " expanded="false">inets<ul>
<li><a href="inets.html">
                  Top of manual page
                </a></li>
<li title="services-0"><a href="inets.html#services-0">services/0</a></li>
<li title="services_info-0"><a href="inets.html#services_info-0">services_info/0</a></li>
<li title="service_names-0"><a href="inets.html#service_names-0">service_names/0</a></li>
<li title="start-0"><a href="inets.html#start-0">start/0</a></li>
<li title="start-1"><a href="inets.html#start-1">start/1</a></li>
<li title="stop-0"><a href="inets.html#stop-0">stop/0</a></li>
<li title="start-2"><a href="inets.html#start-2">start/2</a></li>
<li title="start-3"><a href="inets.html#start-3">start/3</a></li>
<li title="stop-2"><a href="inets.html#stop-2">stop/2</a></li>
</ul>
</li>
<li id="no" title="ftp " expanded="false">ftp<ul>
<li><a href="ftp.html">
                  Top of manual page
                </a></li>
<li title="account-2"><a href="ftp.html#account-2">account/2</a></li>
<li title="append-2"><a href="ftp.html#append-2">append/2</a></li>
<li title="append-3"><a href="ftp.html#append-3">append/3</a></li>
<li title="append_bin-3"><a href="ftp.html#append_bin-3">append_bin/3</a></li>
<li title="append_chunk-2"><a href="ftp.html#append_chunk-2">append_chunk/2</a></li>
<li title="append_chunk_start-2"><a href="ftp.html#append_chunk_start-2">append_chunk_start/2</a></li>
<li title="append_chunk_end-1"><a href="ftp.html#append_chunk_end-1">append_chunk_end/1</a></li>
<li title="cd-2"><a href="ftp.html#cd-2">cd/2</a></li>
<li title="close-1"><a href="ftp.html#close-1">close/1</a></li>
<li title="delete-2"><a href="ftp.html#delete-2">delete/2</a></li>
<li title="formaterror-1"><a href="ftp.html#formaterror-1">formaterror/1</a></li>
<li title="lcd-2"><a href="ftp.html#lcd-2">lcd/2</a></li>
<li title="lpwd-1"><a href="ftp.html#lpwd-1">lpwd/1</a></li>
<li title="ls-1"><a href="ftp.html#ls-1">ls/1</a></li>
<li title="ls-2"><a href="ftp.html#ls-2">ls/2</a></li>
<li title="mkdir-2"><a href="ftp.html#mkdir-2">mkdir/2</a></li>
<li title="nlist-1"><a href="ftp.html#nlist-1">nlist/1</a></li>
<li title="nlist-2"><a href="ftp.html#nlist-2">nlist/2</a></li>
<li title="open-1"><a href="ftp.html#open-1">open/1</a></li>
<li title="open-2"><a href="ftp.html#open-2">open/2</a></li>
<li title="pwd-1"><a href="ftp.html#pwd-1">pwd/1</a></li>
<li title="pwd-1"><a href="ftp.html#pwd-1">pwd/1</a></li>
<li title="recv-2"><a href="ftp.html#recv-2">recv/2</a></li>
<li title="recv-3"><a href="ftp.html#recv-3">recv/3</a></li>
<li title="recv_bin-2"><a href="ftp.html#recv_bin-2">recv_bin/2</a></li>
<li title="recv_chunk_start-2"><a href="ftp.html#recv_chunk_start-2">recv_chunk_start/2</a></li>
<li title="recv_chunk-1"><a href="ftp.html#recv_chunk-1">recv_chunk/1</a></li>
<li title="rename-3"><a href="ftp.html#rename-3">rename/3</a></li>
<li title="rmdir-2"><a href="ftp.html#rmdir-2">rmdir/2</a></li>
<li title="send-2"><a href="ftp.html#send-2">send/2</a></li>
<li title="send-3"><a href="ftp.html#send-3">send/3</a></li>
<li title="send_bin-3"><a href="ftp.html#send_bin-3">send_bin/3</a></li>
<li title="send_chunk-2"><a href="ftp.html#send_chunk-2">send_chunk/2</a></li>
<li title="send_chunk_start-2"><a href="ftp.html#send_chunk_start-2">send_chunk_start/2</a></li>
<li title="send_chunk_end-1"><a href="ftp.html#send_chunk_end-1">send_chunk_end/1</a></li>
<li title="type-2"><a href="ftp.html#type-2">type/2</a></li>
<li title="user-3"><a href="ftp.html#user-3">user/3</a></li>
<li title="user-4"><a href="ftp.html#user-4">user/4</a></li>
<li title="quote-2"><a href="ftp.html#quote-2">quote/2</a></li>
</ul>
</li>
<li id="no" title="tftp " expanded="false">tftp<ul>
<li><a href="tftp.html">
                  Top of manual page
                </a></li>
<li title="start-1"><a href="tftp.html#start-1">start/1</a></li>
<li title="read_file-3"><a href="tftp.html#read_file-3">read_file/3</a></li>
<li title="write_file-3"><a href="tftp.html#write_file-3">write_file/3</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="start-0"><a href="tftp.html#start-0">start/0</a></li>
<li title="prepare-6"><a href="tftp.html#prepare-6">prepare/6</a></li>
<li title="open-6"><a href="tftp.html#open-6">open/6</a></li>
<li title="read-1"><a href="tftp.html#read-1">read/1</a></li>
<li title="write-2"><a href="tftp.html#write-2">write/2</a></li>
<li title="abort-3"><a href="tftp.html#abort-3">abort/3</a></li>
<li title="error_msg-2"><a href="tftp.html#error_msg-2">error_msg/2</a></li>
<li title="warning_msg-2"><a href="tftp.html#warning_msg-2">warning_msg/2</a></li>
<li title="info_msg-2"><a href="tftp.html#info_msg-2">info_msg/2</a></li>
</ul>
</li>
<li id="no" title="httpc " expanded="false">httpc<ul>
<li><a href="httpc.html">
                  Top of manual page
                </a></li>
<li title="request-1"><a href="httpc.html#request-1">request/1</a></li>
<li title="request-2"><a href="httpc.html#request-2">request/2</a></li>
<li title="request-4"><a href="httpc.html#request-4">request/4</a></li>
<li title="request-5"><a href="httpc.html#request-5">request/5</a></li>
<li title="cancel_request-1"><a href="httpc.html#cancel_request-1">cancel_request/1</a></li>
<li title="cancel_request-2"><a href="httpc.html#cancel_request-2">cancel_request/2</a></li>
<li title="set_options-1"><a href="httpc.html#set_options-1">set_options/1</a></li>
<li title="set_options-2"><a href="httpc.html#set_options-2">set_options/2</a></li>
<li title="get_options-1"><a href="httpc.html#get_options-1">get_options/1</a></li>
<li title="get_options-2"><a href="httpc.html#get_options-2">get_options/2</a></li>
<li title="stream_next-1"><a href="httpc.html#stream_next-1">stream_next/1</a></li>
<li title="store_cookies-2"><a href="httpc.html#store_cookies-2">store_cookies/2</a></li>
<li title="store_cookies-3"><a href="httpc.html#store_cookies-3">store_cookies/3</a></li>
<li title="cookie_header-1"><a href="httpc.html#cookie_header-1">cookie_header/1</a></li>
<li title="cookie_header-2"><a href="httpc.html#cookie_header-2">cookie_header/2</a></li>
<li title="cookie_header-3"><a href="httpc.html#cookie_header-3">cookie_header/3</a></li>
<li title="reset_cookies-0"><a href="httpc.html#reset_cookies-0">reset_cookies/0</a></li>
<li title="reset_cookies-1"><a href="httpc.html#reset_cookies-1">reset_cookies/1</a></li>
<li title="which_cookies-0"><a href="httpc.html#which_cookies-0">which_cookies/0</a></li>
<li title="which_cookies-1"><a href="httpc.html#which_cookies-1">which_cookies/1</a></li>
<li title="which_sessions-0"><a href="httpc.html#which_sessions-0">which_sessions/0</a></li>
<li title="which_sessions-1"><a href="httpc.html#which_sessions-1">which_sessions/1</a></li>
<li title="info-0"><a href="httpc.html#info-0">info/0</a></li>
<li title="info-1"><a href="httpc.html#info-1">info/1</a></li>
</ul>
</li>
<li id="no" title="httpd " expanded="false">httpd<ul>
<li><a href="httpd.html">
                  Top of manual page
                </a></li>
<li title="info-1"><a href="httpd.html#info-1">info/1</a></li>
<li title="info-2"><a href="httpd.html#info-2">info/2</a></li>
<li title="info-2"><a href="httpd.html#info-2">info/2</a></li>
<li title="info-3"><a href="httpd.html#info-3">info/3</a></li>
<li title="reload_config-2"><a href="httpd.html#reload_config-2">reload_config/2</a></li>
<li title="Module:do-1"><a href="httpd.html#Module:do-1">Module:do/1</a></li>
<li title="Module:load-2"><a href="httpd.html#Module:load-2">Module:load/2</a></li>
<li title="Module:store-2"><a href="httpd.html#Module:store-2">Module:store/2</a></li>
<li title="Module:remove-1"><a href="httpd.html#Module:remove-1">Module:remove/1</a></li>
<li title="parse_query-1"><a href="httpd.html#parse_query-1">parse_query/1</a></li>
</ul>
</li>
<li id="no" title="httpd_conf " expanded="false">httpd_conf<ul>
<li><a href="httpd_conf.html">
                  Top of manual page
                </a></li>
<li title="check_enum-2"><a href="httpd_conf.html#check_enum-2">check_enum/2</a></li>
<li title="clean-1"><a href="httpd_conf.html#clean-1">clean/1</a></li>
<li title="custom_clean-3"><a href="httpd_conf.html#custom_clean-3">custom_clean/3</a></li>
<li title="is_directory-1"><a href="httpd_conf.html#is_directory-1">is_directory/1</a></li>
<li title="is_file-1"><a href="httpd_conf.html#is_file-1">is_file/1</a></li>
<li title="make_integer-1"><a href="httpd_conf.html#make_integer-1">make_integer/1</a></li>
</ul>
</li>
<li id="no" title="httpd_socket " expanded="false">httpd_socket<ul>
<li><a href="httpd_socket.html">
                  Top of manual page
                </a></li>
<li title="deliver-3"><a href="httpd_socket.html#deliver-3">deliver/3</a></li>
<li title="peername-2"><a href="httpd_socket.html#peername-2">peername/2</a></li>
<li title="resolve-0"><a href="httpd_socket.html#resolve-0">resolve/0</a></li>
</ul>
</li>
<li id="loadscrollpos" title="httpd_util " expanded="true">httpd_util<ul>
<li><a href="httpd_util.html">
                  Top of manual page
                </a></li>
<li title="convert_request_date-1"><a href="httpd_util.html#convert_request_date-1">convert_request_date/1</a></li>
<li title="create_etag-1"><a href="httpd_util.html#create_etag-1">create_etag/1</a></li>
<li title="decode_hex-1"><a href="httpd_util.html#decode_hex-1">decode_hex/1</a></li>
<li title="day-1"><a href="httpd_util.html#day-1">day/1</a></li>
<li title="flatlength-1"><a href="httpd_util.html#flatlength-1">flatlength/1</a></li>
<li title="hexlist_to_integer-1"><a href="httpd_util.html#hexlist_to_integer-1">hexlist_to_integer/1</a></li>
<li title="integer_to_hexlist-1"><a href="httpd_util.html#integer_to_hexlist-1">integer_to_hexlist/1</a></li>
<li title="lookup-2"><a href="httpd_util.html#lookup-2">lookup/2</a></li>
<li title="lookup-3"><a href="httpd_util.html#lookup-3">lookup/3</a></li>
<li title="lookup_mime-2"><a href="httpd_util.html#lookup_mime-2">lookup_mime/2</a></li>
<li title="lookup_mime-3"><a href="httpd_util.html#lookup_mime-3">lookup_mime/3</a></li>
<li title="lookup_mime_default-2"><a href="httpd_util.html#lookup_mime_default-2">lookup_mime_default/2</a></li>
<li title="lookup_mime_default-3"><a href="httpd_util.html#lookup_mime_default-3">lookup_mime_default/3</a></li>
<li title="message-3"><a href="httpd_util.html#message-3">message/3</a></li>
<li title="month-1"><a href="httpd_util.html#month-1">month/1</a></li>
<li title="multi_lookup-2"><a href="httpd_util.html#multi_lookup-2">multi_lookup/2</a></li>
<li title="reason_phrase-1"><a href="httpd_util.html#reason_phrase-1">reason_phrase/1</a></li>
<li title="rfc1123_date-0"><a href="httpd_util.html#rfc1123_date-0">rfc1123_date/0</a></li>
<li title="rfc1123_date-2"><a href="httpd_util.html#rfc1123_date-2">rfc1123_date/2</a></li>
<li title="split-3"><a href="httpd_util.html#split-3">split/3</a></li>
<li title="split_script_path-1"><a href="httpd_util.html#split_script_path-1">split_script_path/1</a></li>
<li title="split_path-1"><a href="httpd_util.html#split_path-1">split_path/1</a></li>
<li title="strip-1"><a href="httpd_util.html#strip-1">strip/1</a></li>
<li title="suffix-1"><a href="httpd_util.html#suffix-1">suffix/1</a></li>
</ul>
</li>
<li id="no" title="mod_alias " expanded="false">mod_alias<ul>
<li><a href="mod_alias.html">
                  Top of manual page
                </a></li>
<li title="default_index-2"><a href="mod_alias.html#default_index-2">default_index/2</a></li>
<li title="path-3"><a href="mod_alias.html#path-3">path/3</a></li>
<li title="real_name-3"><a href="mod_alias.html#real_name-3">real_name/3</a></li>
<li title="real_script_name-3"><a href="mod_alias.html#real_script_name-3">real_script_name/3</a></li>
</ul>
</li>
<li id="no" title="mod_auth " expanded="false">mod_auth<ul>
<li><a href="mod_auth.html">
                  Top of manual page
                </a></li>
<li title="add_user-2"><a href="mod_auth.html#add_user-2">add_user/2</a></li>
<li title="add_user-5"><a href="mod_auth.html#add_user-5">add_user/5</a></li>
<li title="add_user-6"><a href="mod_auth.html#add_user-6">add_user/6</a></li>
<li title="delete_user-2"><a href="mod_auth.html#delete_user-2">delete_user/2</a></li>
<li title="delete_user-3"><a href="mod_auth.html#delete_user-3">delete_user/3</a></li>
<li title="delete_user-4"><a href="mod_auth.html#delete_user-4">delete_user/4</a></li>
<li title="get_user-2"><a href="mod_auth.html#get_user-2">get_user/2</a></li>
<li title="get_user-3"><a href="mod_auth.html#get_user-3">get_user/3</a></li>
<li title="get_user-4"><a href="mod_auth.html#get_user-4">get_user/4</a></li>
<li title="list_users-1"><a href="mod_auth.html#list_users-1">list_users/1</a></li>
<li title="list_users-2"><a href="mod_auth.html#list_users-2">list_users/2</a></li>
<li title="list_users-3"><a href="mod_auth.html#list_users-3">list_users/3</a></li>
<li title="add_group_member-3"><a href="mod_auth.html#add_group_member-3">add_group_member/3</a></li>
<li title="add_group_member-4"><a href="mod_auth.html#add_group_member-4">add_group_member/4</a></li>
<li title="add_group_member-5"><a href="mod_auth.html#add_group_member-5">add_group_member/5</a></li>
<li title="delete_group_member-3"><a href="mod_auth.html#delete_group_member-3">delete_group_member/3</a></li>
<li title="delete_group_member-4"><a href="mod_auth.html#delete_group_member-4">delete_group_member/4</a></li>
<li title="delete_group_member-5"><a href="mod_auth.html#delete_group_member-5">delete_group_member/5</a></li>
<li title="list_group_members-2"><a href="mod_auth.html#list_group_members-2">list_group_members/2</a></li>
<li title="list_group_members-3"><a href="mod_auth.html#list_group_members-3">list_group_members/3</a></li>
<li title="list_group_members-4"><a href="mod_auth.html#list_group_members-4">list_group_members/4</a></li>
<li title="list_groups-1"><a href="mod_auth.html#list_groups-1">list_groups/1</a></li>
<li title="list_groups-2"><a href="mod_auth.html#list_groups-2">list_groups/2</a></li>
<li title="list_groups-3"><a href="mod_auth.html#list_groups-3">list_groups/3</a></li>
<li title="delete_group-2"><a href="mod_auth.html#delete_group-2">delete_group/2</a></li>
<li title="delete_group-4"><a href="mod_auth.html#delete_group-4">delete_group/4</a></li>
<li title="update_password-5"><a href="mod_auth.html#update_password-5">update_password/5</a></li>
<li title="update_password-6"><a href="mod_auth.html#update_password-6">update_password/6</a></li>
</ul>
</li>
<li id="no" title="mod_esi " expanded="false">mod_esi<ul>
<li><a href="mod_esi.html">
                  Top of manual page
                </a></li>
<li title="deliver-2"><a href="mod_esi.html#deliver-2">deliver/2</a></li>
<li title="Module:Function-3"><a href="mod_esi.html#Module:Function-3">Module:Function/3</a></li>
<li title="Module:Function-2"><a href="mod_esi.html#Module:Function-2">Module:Function/2</a></li>
</ul>
</li>
<li id="no" title="mod_security " expanded="false">mod_security<ul>
<li><a href="mod_security.html">
                  Top of manual page
                </a></li>
<li title="list_auth_users-1"><a href="mod_security.html#list_auth_users-1">list_auth_users/1</a></li>
<li title="list_auth_users-2"><a href="mod_security.html#list_auth_users-2">list_auth_users/2</a></li>
<li title="list_auth_users-2"><a href="mod_security.html#list_auth_users-2">list_auth_users/2</a></li>
<li title="list_auth_users-3"><a href="mod_security.html#list_auth_users-3">list_auth_users/3</a></li>
<li title="list_blocked_users-1"><a href="mod_security.html#list_blocked_users-1">list_blocked_users/1</a></li>
<li title="list_blocked_users-2"><a href="mod_security.html#list_blocked_users-2">list_blocked_users/2</a></li>
<li title="list_blocked_users-2"><a href="mod_security.html#list_blocked_users-2">list_blocked_users/2</a></li>
<li title="list_blocked_users-3"><a href="mod_security.html#list_blocked_users-3">list_blocked_users/3</a></li>
<li title="block_user-4"><a href="mod_security.html#block_user-4">block_user/4</a></li>
<li title="block_user-5"><a href="mod_security.html#block_user-5">block_user/5</a></li>
<li title="unblock_user-2"><a href="mod_security.html#unblock_user-2">unblock_user/2</a></li>
<li title="unblock_user-3"><a href="mod_security.html#unblock_user-3">unblock_user/3</a></li>
<li title="unblock_user-3"><a href="mod_security.html#unblock_user-3">unblock_user/3</a></li>
<li title="unblock_user-4"><a href="mod_security.html#unblock_user-4">unblock_user/4</a></li>
<li title="event-4"><a href="mod_security.html#event-4">event/4</a></li>
<li title="event-5"><a href="mod_security.html#event-5">event/5</a></li>
</ul>
</li>
<li id="no" title="http_uri " expanded="false">http_uri<ul>
<li><a href="http_uri.html">
                  Top of manual page
                </a></li>
<li title="scheme_defaults-0"><a href="http_uri.html#scheme_defaults-0">scheme_defaults/0</a></li>
<li title="parse-1"><a href="http_uri.html#parse-1">parse/1</a></li>
<li title="parse-2"><a href="http_uri.html#parse-2">parse/2</a></li>
<li title="encode-1"><a href="http_uri.html#encode-1">encode/1</a></li>
<li title="decode-1"><a href="http_uri.html#decode-1">decode/1</a></li>
</ul>
</li>
</ul>
</div></div>
<div id="content">
<div class="innertube">
<!-- refpage --><center><h1>httpd_util</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">httpd_util</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">Miscellaneous utility functions to be used when implementing Erlang Web server API modules.</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>This module provides the Erlang Web Server API module
      programmer with miscellaneous utility functions.</p>

    <a name="convert_request_date"></a>
  </p></div>

  <h3>EXPORTS</h3>
    <p><a name="convert_request_date-1"><span class="bold_code">convert_request_date(DateString) -&gt; ErlDate|bad_date</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">DateString = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">ErlDate = {{Year,Month,Date},{Hour,Min,Sec}}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Year = Month = Date = Hour = Min = Sec = integer()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">convert_request_date/1</span> converts <span class="code">DateString</span> to 
          the Erlang date format. DateString must be in one of the three 
          date formats that is defined in the RFC 2616.</p>

	<a name="create_etag"></a>
      </p></div>

    <p><a name="create_etag-1"><span class="bold_code">create_etag(FileInfo) -&gt; Etag</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">FileInfo = file_info()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Etag = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">create_etag/1</span> calculates the Etag for a file, from its
          size and time for last modification. fileinfo is a record defined 
          in <span class="code">kernel/include/file.hrl</span></p>

	<a name="decode_hex"></a>
      </p></div>

    <p><a name="decode_hex-1"><span class="bold_code">decode_hex(HexValue) -&gt; DecValue</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">HexValue = DecValue = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Converts the hexadecimal value <span class="code">HexValue</span> into its
          decimal equivalent (<span class="code">DecValue</span>).</p>

	<a name="day"></a>
      </p></div>

    <p><a name="day-1"><span class="bold_code">day(NthDayOfWeek) -&gt; DayOfWeek</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">NthDayOfWeek = 1-7</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">DayOfWeek = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="day"></a>
        <p><span class="code">day/1</span> converts the day of the week
          (<span class="code">NthDayOfWeek</span>) as an integer (1-7) to an abbreviated
          string, that is: </p>
        <p>1 = "Mon", 2 = "Tue", ..., 7 = "Sat".</p>

	<a name="flatlength"></a>
      </p></div>

    <p><a name="flatlength-1"><span class="bold_code">flatlength(NestedList) -&gt; Size</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">NestedList = list()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Size = integer()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="flatlength"></a>
        <p><span class="code">flatlength/1</span> computes the size of the possibly nested
          list <span class="code">NestedList</span>. Which may contain binaries.</p>

        <a name="hexlist_to_integer"></a>
      </p></div>



    <p><a name="hexlist_to_integer-1"><span class="bold_code">hexlist_to_integer(HexString) -&gt; Number</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Number = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">HexString = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">hexlist_to_integer</span> Convert the Hexadecimal value of 
          HexString to an integer.</p>

	<a name="integer_to_hexlist"></a>
      </p></div>

    <p><a name="integer_to_hexlist-1"><span class="bold_code">integer_to_hexlist(Number) -&gt; HexString</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Number = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">HexString = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="integer_to_hexlist"></a>
        <p><span class="code">integer_to_hexlist/1</span> Returns a string that represents 
          the Number in a Hexadecimal form.</p>

	<a name="lookup"></a>
      </p></div>

    <p><a name="lookup-2"><span class="bold_code">lookup(ETSTable,Key) -&gt; Result</span></a><br><a name="lookup-3"><span class="bold_code">lookup(ETSTable,Key,Undefined) -&gt; Result</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">ETSTable = ets_table()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Key = term()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Result = term() | undefined | Undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Undefined = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">lookup</span> extracts <span class="code">{Key,Value}</span> tuples from
          <span class="code">ETSTable</span> and returns the <span class="code">Value</span> associated  
          with <span class="code">Key</span>. If <span class="code">ETSTable</span> is of type <span class="code">bag</span>
          only the first <span class="code">Value</span> associated with <span class="code">Key</span> is
          returned. <span class="code">lookup/2</span> returns <span class="code">undefined</span> and
          <span class="code">lookup/3</span> returns <span class="code">Undefined</span> if no <span class="code">Value</span>
          is found.</p>

	<a name="lookup_mime"></a>
      </p></div>

    <p><a name="lookup_mime-2"><span class="bold_code">lookup_mime(ConfigDB,Suffix)</span></a><br><a name="lookup_mime-3"><span class="bold_code">lookup_mime(ConfigDB,Suffix,Undefined) -&gt; MimeType</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">ConfigDB = ets_table()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Suffix = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">MimeType = string() | undefined | Undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Undefined = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="lookup_mime"></a>
        <p><span class="code">lookup_mime</span> returns the mime type associated with a
          specific file suffix as specified in the <span class="code">mime.types</span>
          file (located in the 
          config directory).</p>

	<a name="lookup_mime_default"></a>
      </p></div>

    <p><a name="lookup_mime_default-2"><span class="bold_code">lookup_mime_default(ConfigDB,Suffix)</span></a><br><a name="lookup_mime_default-3"><span class="bold_code">lookup_mime_default(ConfigDB,Suffix,Undefined) -&gt; MimeType</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">ConfigDB = ets_table()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Suffix = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">MimeType = string() | undefined | Undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Undefined = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="lookup_mime_default"></a>
        <p><span class="code">lookup_mime_default</span> returns the mime type associated
          with a specific file suffix as specified in the
          <span class="code">mime.types</span> file (located in the
          config  directory). 
          If no appropriate association can be found 
          the value of DefaultType is
          returned.</p>

	<a name="message"></a>
      </p></div>

    <p><a name="message-3"><span class="bold_code">message(StatusCode,PhraseArgs,ConfigDB) -&gt; Message</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">StatusCode = 301 | 400 | 403 | 404 | 500 | 501 | 504</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">PhraseArgs = term()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">ConfigDB = ets_table</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Message = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="message"></a>
        <p><span class="code">message/3</span> returns an informative HTTP 1.1 status
          string in HTML. Each <span class="code">StatusCode</span> requires a specific
          <span class="code">PhraseArgs</span>:
          </p>
        <dl>
          <dt><strong><span class="code">301</span></strong></dt>
          <dd>
<span class="code">string()</span>: A URL pointing at the new document
           position.</dd>
          <dt><strong><span class="code">400 | 401 | 500</span></strong></dt>
          <dd>
<span class="code">none</span> (No <span class="code">PhraseArgs</span>)</dd>
          <dt><strong><span class="code">403 | 404</span></strong></dt>
          <dd>
<span class="code">string()</span>: A <span class="code">Request-URI</span> as described in
           RFC 2616.</dd>
          <dt><strong><span class="code">501</span></strong></dt>
          <dd>
<span class="code">{Method,RequestURI,HTTPVersion}</span>: The HTTP
          <span class="code">Method</span>, <span class="code">Request-URI</span> and <span class="code">HTTP-Version</span>
           as defined in RFC 2616.</dd>
          <dt><strong><span class="code">504</span></strong></dt>
          <dd>
<span class="code">string()</span>: A string describing why the service
           was unavailable.</dd>
        </dl>

	<a name="month"></a>
      </p></div>

    <p><a name="month-1"><span class="bold_code">month(NthMonth) -&gt; Month</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">NthMonth = 1-12</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Month = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="month"></a>
        <p><span class="code">month/1</span> converts the month <span class="code">NthMonth</span> as an
          integer (1-12) to an abbreviated string, that is: </p>
        <p>1 = "Jan", 2 = "Feb", ..., 12 = "Dec".</p>

	<a name="multi_lookup"></a>
      </p></div>

    <p><a name="multi_lookup-2"><span class="bold_code">multi_lookup(ETSTable,Key) -&gt; Result</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">ETSTable = ets_table()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Key = term()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Result = [term()]</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">multi_lookup</span> extracts all <span class="code">{Key,Value}</span> tuples
          from an <span class="code">ETSTable</span> and returns <strong>all</strong><span class="code">Values</span> associated with the <span class="code">Key</span> in a list.</p>

	<a name="reason%20phrase"></a>
      </p></div>

    <p><a name="reason_phrase-1"><span class="bold_code">reason_phrase(StatusCode) -&gt; Description</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">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</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Description = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p><span class="code">reason_phrase</span> returns the <span class="code">Description</span> of an
          HTTP 1.1 <span class="code">StatusCode</span>, for example 200 is "OK" and 201
          is "Created". Read RFC 2616 for further information.</p>

	<a name="rfc1123_date"></a>
      </p></div>

    <p><a name="rfc1123_date-0"><span class="bold_code">rfc1123_date() -&gt; RFC1123Date</span></a><br><a name="rfc1123_date-2"><span class="bold_code">rfc1123_date({{YYYY,MM,DD},{Hour,Min,Sec}}}) -&gt; RFC1123Date</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">YYYY = MM = DD = Hour = Min =Sec = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">RFC1123Date = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="rfc1123_date"></a>
        <p><span class="code">rfc1123_date/0</span> returns the current date in RFC 1123
          format. <span class="code">rfc_date/1</span> converts the date in the Erlang format
          to the RFC 1123 date format.</p>

	<a name="split"></a>
      </p></div>

    <p><a name="split-3"><span class="bold_code">split(String,RegExp,N) -&gt; SplitRes</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">String = RegExp = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">SplitRes = {ok, FieldList} | {error, errordesc()}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Fieldlist = [string()]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">N = integer</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="split"></a>
        <p><span class="code">split/3</span> splits the <span class="code">String</span> in <span class="code">N</span> chunks
          using the <span class="code">RegExp</span>. <span class="code">split/3</span> is is equivalent to
          <span class="code">regexp:split/2</span> with one exception, that is <span class="code">N</span>
          defines the number of maximum number of fields in the
          <span class="code">FieldList</span>.</p>

	<a name="split_script_path"></a>
      </p></div>

    <p><a name="split_script_path-1"><span class="bold_code">split_script_path(RequestLine) -&gt; Splitted</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">RequestLine = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Splitted = not_a_script | {Path, PathInfo, QueryString}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Path = QueryString = PathInfo = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="split_script_path"></a>
        <p><span class="code">split_script_path/1</span> is equivalent to
          <span class="code">split_path/1</span> with one exception. If the longest
          possible path is not a regular, accessible and executable
          file <span class="code">not_a_script</span> is returned.</p>

	<a name="split_path"></a>
      </p></div>

    <p><a name="split_path-1"><span class="bold_code">split_path(RequestLine) -&gt; {Path,QueryStringOrPathInfo}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">RequestLine = Path = QueryStringOrPathInfo = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="split_path"></a>
        <p><span class="code">split_path/1</span> splits the <span class="code">RequestLine</span> in a file
          reference (<span class="code">Path</span>) and a <span class="code">QueryString</span> or a
          <span class="code">PathInfo</span> string as specified in RFC 2616. A
          <span class="code">QueryString</span> is isolated from the <span class="code">Path</span> with a
          question mark (<span class="code">?</span>) and <span class="code">PathInfo</span> with a slash
          (/). In the case of a <span class="code">QueryString</span>, everything before
          the <span class="code">?</span> is a <span class="code">Path</span> and everything after a
          <span class="code">QueryString</span>. In the case of a <span class="code">PathInfo</span> the
          <span class="code">RequestLine</span> is scanned from left-to-right on the hunt
          for longest possible <span class="code">Path</span> being a file or a
          directory. Everything after the longest possible
          <span class="code">Path</span>, isolated with a <span class="code">/</span>, is regarded as
          <span class="code">PathInfo</span>. The resulting <span class="code">Path</span> is decoded using
          <span class="code">decode_hex/1</span> before delivery.</p>

	<a name="strip"></a>
      </p></div>

    <p><a name="strip-1"><span class="bold_code">strip(String) -&gt; Stripped</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">String = Stripped = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="strip"></a>
        <p><span class="code">strip/1</span> removes any leading or trailing linear white
          space from the string.  Linear white space should be read as
          horizontal tab or space.</p>

	<a name="suffix"></a>
      </p></div>

    <p><a name="suffix-1"><span class="bold_code">suffix(FileName) -&gt; Suffix</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">FileName = Suffix = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="suffix"></a>
        <p><span class="code">suffix/1</span> is equivalent to
          <span class="code">filename:extension/1</span> with one exception, that is
          <span class="code">Suffix</span> is returned without a leading dot (<span class="code">.</span>). </p>
      </p></div>
  

  <h3><a name="id87103">SEE ALSO</a></h3>
<div class="REFBODY">
    <a name="see_also"></a>
    
    <p><span class="bold_code"><a href="httpd.html">httpd(3)</a></span></p>
  </div>
  
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>