Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 98 lines (86 sloc) 3.554 kb
93f6bab @nniclausse MAJOR update:
nniclausse authored
1 %%% This code was developped by IDEALX (http://IDEALX.org/) and
2 %%% contributors (their names can be found in the CONTRIBUTORS file).
3 %%% Copyright (C) 2000-2001 IDEALX
4 %%%
5 %%% This program is free software; you can redistribute it and/or modify
6 %%% it under the terms of the GNU General Public License as published by
7 %%% the Free Software Foundation; either version 2 of the License, or
8 %%% (at your option) any later version.
9 %%%
10 %%% This program is distributed in the hope that it will be useful,
11 %%% but WITHOUT ANY WARRANTY; without even the implied warranty of
12 %%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 %%% GNU General Public License for more details.
14 %%%
15 %%% You should have received a copy of the GNU General Public License
16 %%% along with this program; if not, write to the Free Software
17 %%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
74b91db @nniclausse tabs/space
nniclausse authored
18 %%%
5d10a86 @nniclausse add explicit exception in the GPL for linking EPL modules (obvious, but ...
nniclausse authored
19 %%% In addition, as a special exception, you have the permission to
20 %%% link the code of this program with any library released under
21 %%% the EPL license and distribute linked combinations including
22 %%% the two.
23
93f6bab @nniclausse MAJOR update:
nniclausse authored
24
25 -vc('$Id$ ').
41e965d @nniclausse update email
nniclausse authored
26 -author('nicolas.niclausse@niclux.org').
93f6bab @nniclausse MAJOR update:
nniclausse authored
27
28 %% use by the client to create the request
65af9b8 @nniclausse MAJOR Update (not yet finished): New configuration system using an XML f...
nniclausse authored
29 -record(http_request, {
30 url,
31 version="1.1", % default is HTTP/1.1
b628eaa @nniclausse - set the Host header during configuration phase
nniclausse authored
32 host_header, % use for the 'Host:' header
c640d11 @nniclausse http: user_agent is now customizable in the xml config file.
nniclausse authored
33 get_ims_date, % used when the method is getims
34e4b3d @nniclausse option to manually add a cookie in http requests (TSUN-111)
nniclausse authored
34 cookie = [],
c640d11 @nniclausse http: user_agent is now customizable in the xml config file.
nniclausse authored
35 method = get,
36 content_type = [],
37 headers = [],
38 body = [],
e4a3afe @nniclausse www_auth
nniclausse authored
39 id = 0,
c640d11 @nniclausse http: user_agent is now customizable in the xml config file.
nniclausse authored
40 user_agent,
e4a3afe @nniclausse www_auth
nniclausse authored
41 userid, % for www_authentication
73fdc6c @nniclausse add SOAP support, fix bugs in the recorder, more XML attributes entity n...
nniclausse authored
42 passwd, % for www_authentication
43 soap_action % for SOAP support
65af9b8 @nniclausse MAJOR Update (not yet finished): New configuration system using an XML f...
nniclausse authored
44 }).
27eedec @nniclausse plugin API change: drop the dyndata field in state_rcv. All the
nniclausse authored
45
ed79763 @nniclausse url record
nniclausse authored
46 -record(url,
74b91db @nniclausse tabs/space
nniclausse authored
47 {scheme, %% http, https, ...
48 host,
49 port, %% undefined means use default (80 or 443)
50 path = [],
51 querypart = []}).
ed79763 @nniclausse url record
nniclausse authored
52
74b91db @nniclausse tabs/space
nniclausse authored
53 %% use by the client process to store information about the current request during
27eedec @nniclausse plugin API change: drop the dyndata field in state_rcv. All the
nniclausse authored
54 %% the parsing of the response, and for the whole session (user_agent and cookies)
42b9e61 @nniclausse fix transfer chunked parsing
nniclausse authored
55 -record(http, {content_length= 0, % HTTP header: content length
74b91db @nniclausse tabs/space
nniclausse authored
56 body_size = 0, % current size of body,
96dcaf9 @nniclausse API plugin update: add decode_buffer/2 fun. Implemented in http for
nniclausse authored
57 chunk_toread = -1, % chunk data to be read (-1 = not chunked, -2 = not chunked, but last response was)
de4f702 @nniclausse wip: add 'protocol' logging, only implemented for HTTP currently (TSUN-1...
nniclausse authored
58 status = {none,none}, % HTTP resp. status :200, etc. 'none'
d5f7a79 @nniclausse better handling of closed connection by the server immediately after
nniclausse authored
59 % if no current cnx.
74b91db @nniclausse tabs/space
nniclausse authored
60 close = false, % true if HTTP/1.0 or 'connection: close'
56735fe @nniclausse improve Cookies support. Host HTTP header is now derived from server or ...
nniclausse authored
61 % has been received
74b91db @nniclausse tabs/space
nniclausse authored
62 partial=false, % true if headers are partially received
96dcaf9 @nniclausse API plugin update: add decode_buffer/2 fun. Implemented in http for
nniclausse authored
63 compressed={false,false}, % type of compression if body is compressed
27eedec @nniclausse plugin API change: drop the dyndata field in state_rcv. All the
nniclausse authored
64 cookie=[], %cookies of the current request
65 user_agent,
66 session_cookies = [] % Cookies of the session
74b91db @nniclausse tabs/space
nniclausse authored
67 }).
93f6bab @nniclausse MAJOR update:
nniclausse authored
68
56735fe @nniclausse improve Cookies support. Host HTTP header is now derived from server or ...
nniclausse authored
69
70 -record(cookie,{
74b91db @nniclausse tabs/space
nniclausse authored
71 key,
72 value,
73 quoted,
74 comment,
75 comment_url,
76 discard,
77 domain,
78 max_age,
79 expires,
80 path,
81 port,
82 secure,
83 version}).
56735fe @nniclausse improve Cookies support. Host HTTP header is now derived from server or ...
nniclausse authored
84
93f6bab @nniclausse MAJOR update:
nniclausse authored
85 %% HTTP Protocol
86 -define(GET, "GET").
87 -define(POST, "POST").
c138ea1 @nniclausse Add support for HEAD, PUT and DELETE method for HTTP. Fix for TSUN-22
nniclausse authored
88 -define(PUT, "PUT").
89 -define(HEAD, "HEAD").
90 -define(DELETE, "DELETE").
1fe17e0 @nniclausse improve webdav plugin (TSUN-61). Works with litmus.
nniclausse authored
91 -define(OPTIONS, "OPTIONS").
5382a9c @nniclausse improve HTTP headers functions
nniclausse authored
92
5345a3b @nniclausse rename idx-tsunami to tsung step 3
nniclausse authored
93 -define(USER_AGENT, "Tsung").
069be48 @nniclausse add check for user agent frequency sum
nniclausse authored
94 -define(USER_AGENT_ERROR_MSG, "Total sum of user agents frequency is not equal to 100").
93f6bab @nniclausse MAJOR update:
nniclausse authored
95
96dcaf9 @nniclausse API plugin update: add decode_buffer/2 fun. Implemented in http for
nniclausse authored
96 -define(MAX_HEADER_SIZE, 65536). % used for http_chunk:decode
97
Something went wrong with that request. Please try again.