Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: ca5a5330b8
Fetching contributors…

Cannot retrieve contributors at this time

109 lines (97 sloc) 3.816 kb
%%% This code was developped by IDEALX (http://IDEALX.org/) and
%%% contributors (their names can be found in the CONTRIBUTORS file).
%%% Copyright (C) 2000-2001 IDEALX
%%%
%%% This program is free software; you can redistribute it and/or modify
%%% it under the terms of the GNU General Public License as published by
%%% the Free Software Foundation; either version 2 of the License, or
%%% (at your option) any later version.
%%%
%%% This program is distributed in the hope that it will be useful,
%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%%% GNU General Public License for more details.
%%%
%%% You should have received a copy of the GNU General Public License
%%% along with this program; if not, write to the Free Software
%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
%%%
%%% In addition, as a special exception, you have the permission to
%%% link the code of this program with any library released under
%%% the EPL license and distribute linked combinations including
%%% the two.
-vc('$Id$ ').
-author('nicolas.niclausse@niclux.org').
%% use by the client to create the request
-record(http_request, {
url,
version="1.1", % default is HTTP/1.1
host_header, % use for the 'Host:' header
get_ims_date, % used when the method is getims
cookie = [],
method = get,
content_type = [],
headers = [],
body = [],
id = 0,
user_agent,
oauth_consumer,
oauth_access_token,
oauth_access_secret,
oauth_url,
userid, % for www_authentication
passwd, % for www_authentication
auth_type,
digest_nonce,
digest_opaque,
digest_cnonce,
digest_nc,
digest_qop,
realm,
soap_action % for SOAP support
}).
-record(url,
{scheme, %% http, https, ...
host,
port, %% undefined means use default (80 or 443)
path = [],
querypart = []}).
%% use by the client process to store information about the current request during
%% the parsing of the response, and for the whole session (user_agent and cookies)
-record(http, {content_length= 0, % HTTP header: content length
body_size = 0, % current size of body,
chunk_toread = -1, % chunk data to be read (-1 = not chunked, -2 = not chunked, but last response was)
status = {none,none}, % HTTP resp. status :200, etc. 'none'
% if no current cnx.
close = false, % true if HTTP/1.0 or 'connection: close'
% has been received
partial=false, % true if headers are partially received
compressed={false,false}, % type of compression if body is compressed
cookie=[], %cookies of the current request
user_agent,
session_cookies = [] % Cookies of the session
}).
-record(cookie,{
key,
value,
quoted,
comment,
comment_url,
discard,
domain,
max_age,
expires,
path,
port,
secure,
version}).
%% HTTP Protocol
-define(GET, "GET").
-define(POST, "POST").
-define(PUT, "PUT").
-define(HEAD, "HEAD").
-define(DELETE, "DELETE").
-define(OPTIONS, "OPTIONS").
-define(USER_AGENT, "Tsung").
-define(USER_AGENT_ERROR_MSG, "Total sum of user agents frequency is not equal to 100").
-define(MAX_HEADER_SIZE, 65536). % used for http_chunk:decode
Jump to Line
Something went wrong with that request. Please try again.