topic "HttpRequest";
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,2#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[2 $$0,0#00000000000000000000000000000000:Default]
[{_} 
[ {{10000@(113.42.0) [s0;%% [*@7;4 HttpRequest]]}}&]
[s3; &]
[s1;:HttpRequest`:`:class: [@(0.0.255)3 class][3 _][*3 HttpRequest][3 _:_][@(0.0.255)3 public][3 _
][*@3;3 TcpSocket]&]
[s2;%% This class performs synchronous or asynchronous HTTP requests.&]
[s3;%% &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:HttpRequest`:`:WhenContent: [_^Callback2^ Event]<[@(0.0.255) const]_[@(0.0.255) void]_
`*, [@(0.0.255) int]>_[* WhenContent]&]
[s2;%% Defines consumer function for HTTP response content. If defined, 
HttpRequest uses this output event instead of storing the output 
content in String that can be read using GetContent method. Note 
that only `"valid`" content, defined as content in response with 
status code in the range 200 .. 299 is sent to WhenContent `- 
this avoids problems with multiple requests because of redirection 
or authorization. It is possible to change this behavior with 
AllContent `- in that case client code is likely to use WhenStart 
to separate responses to individual requests.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:WhenStart: [_^Callback^ Event<>]_[* WhenStart]&]
[s2;%% Invoked each time HttpRequest starts a new request attempt 
`- this includes redirections, authentization or retries on error. 
Gives chance to client software to restart processing, e.g. to 
delete partially downloaded file.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:WhenDo: [_^Callback^ Event<>]_[* WhenDo]&]
[s2;%% Invoked each time Do routine exits. Useful to show progres 
or allow abortions in GUI.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:WhenAuthenticate: [_^Upp`:`:Gate^ Gate<>]_[* WhenAuthenticate]&]
[s2;%% Invoked when request returns 401 code (unauthorized). Callback 
should check returned headers and if possible, provide authorization 
header (through Authorization). In that case, it should return 
true to indicate that authorization was (hopefully) resolved 
`- HttpRequest will then try to repeat the query.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:MaxHeaderSize`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* Ma
xHeaderSize]([@(0.0.255) int]_[*@3 m])&]
[s2;%% Specifies the maximum size of response header (default is 
1000000). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:MaxContentSize`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* M
axContentSize]([@(0.0.255) int]_[*@3 m])&]
[s2;%% Specifies the maximum size of response content that can be 
stored in HttpRequest to be retrieved by GetContent method (default 
is 10000000). Note that this limit does no apply when content 
data are processed using WhenContent callback. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:MaxRedirect`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* MaxR
edirect]([@(0.0.255) int]_[*@3 n])&]
[s2;%% Specifies the maximum number of redirections (code 3xx) (default 
is 10). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:MaxRetries`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* MaxRe
tries]([@(0.0.255) int]_[*@3 n])&]
[s2;%% Specifies the maximum number of retries on failure (default 
is 3). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:RequestTimeout`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* R
equestTimeout]([@(0.0.255) int]_[*@3 ms])&]
[s2;%% Specifies total allowed time for request in milliseconds (default 
is .120000 `- two minutes). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ChunkSize`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* ChunkS
ize]([@(0.0.255) int]_[*@3 n])&]
[s2;%% Specifies the maximum size of content data block for processing 
(default is 4096). Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:AllContent`(bool`): [_^Upp`:`:HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* AllContent]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% When active, WhenContent receives content from all responses, 
even if they are just redirection or authorization texts.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:Method`(int`,const char`*`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* Method]([@(0.0.255) int]_[*@3 m], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 custom`_na
me]_`=_NULL)&]
[s2;%% Sets HTTP request method. [%-*@3 m] can be one of METHOD`_GET, 
METHOD`_POST, METHOD`_HEAD, METHOD`_PUT, METHOD`_DELETE, METHOD`_TRACE, 
METHOD`_OPTIONS, METHOD`_CONNECT, METHOD`_PATCH. Default setting 
is METHOD`_GET. If [%-*@3 custom`_name] is not NULL, HttpRequest 
behaves likem performing method [%-*@3 m] but in HTTP request [%-*@3 custom`_name] 
is used as method. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GET`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* GET]()&]
[s2;%% Same as Method(METHOD`_GET) (default). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:POST`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* POST]()&]
[s2;%% Same as Method(METHOD`_POST). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:HEAD`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* HEAD]()&]
[s2;%% Same as Method(METHOD`_HEAD). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:PUT`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* PUT]()&]
[s2;%% Same as Method(METHOD`_PUT). Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:DEL`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* DEL]()&]
[s2;%% Same as Method(METHOD`_DELETE). Returns `*this. Note that 
this method is not named `"DELETE`" because of name`-clash with 
Win32 #define.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:TRACE`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* TRACE]()&]
[s2;%% Same as Method(METHOD`_TRACE). Returns `*this.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:OPTIONS`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* OPTIONS]()&]
[s2;%% Same as Method(METHOD`_OPTIONS). Returns `*this.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:CONNECT`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* CONNECT]()&]
[s2;%% Same as Method(METHOD`_CONNECT). Returns `*this.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:PATCH`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* PATCH]()&]
[s2;%% Same as Method(METHOD`_PATCH). Returns `*this.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:Host`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* H
ost]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 h])&]
[s2;%% Sets server host. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Port`(int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* Port]([@(0.0.255) i
nt]_[*@3 p])&]
[s2;%% Sets.server port. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:SSL`(bool`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* SSL]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Activates SSL mode. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Path`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* P
ath]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Sets request path. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:Authorization`(const Upp`:`:String`&`): [_^Upp`:`:HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* Authorization]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&
]_[*@3 h])&]
[s2;%% Sets authorization header (text between `"Authorization: `" 
and `"`\r`\n`" in header). It is intended to be used in WhenAuthenticate 
callback to provide login info.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:User`(const String`&`,const String`&`): [_^HttpRequest^ HttpRequest
][@(0.0.255) `&]_[* User]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 u], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Sets user and password according to [^http`:`/`/en`.wikipedia`.org`/wiki`/Basic`_access`_authentication^ B
asic access authentication]. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Digest`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* Digest]()&]
[s2;%% Forces HttpRequest to use [^http`:`/`/en`.wikipedia`.org`/wiki`/Digest`_access`_authentication^ D
igest access authentication]. `- not to send Basic access authentication. 
Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:Digest`(const Upp`:`:String`&`,const Upp`:`:String`&`): [_^Upp`:`:HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* Digest]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&
]_[*@3 u], [@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Same as User([%-*@3 u] , [%-*@3 p]).Digest().&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:SetDigest`(const Upp`:`:String`&`): [_^Upp`:`:HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* SetDigest]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&
]_[*@3 d])&]
[s2;%% Sets digest. This is usually done by HttpRequest when processing 
401 response code. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Url`(const char`*`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* Url
]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 url])&]
[s2;%% Sets request [%-*@3 url]. [%-*@3 url] is parsed to get host name, 
port and path, then calling Host, Port and Path methods. If [%-*@3 url] 
starts with `"https`", SSL mode is activated using SSL method. 
Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:UrlVar`(const char`*`,const String`&`): [_^HttpRequest^ HttpRequest
][@(0.0.255) `&]_[* UrlVar]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
[s5;:HttpRequest`:`:operator`(`)`(const char`*`,const String`&`): [_^HttpRequest^ HttpR
equest][@(0.0.255) `&]_[* operator()]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
[s2;%% Adds name/value pair to the path in the format used by HTML 
forms with `"GET`" method. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:PostData`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* PostData]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 pd])&]
[s2;%% Sets data to be posted with request. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:PostStream`(Stream`&`,int64`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* PostStream]([_^Stream^ Stream][@(0.0.255) `&]_[*@3 s], [_^int64^ int64]_[*@3 len]_`=_Nul
l)&]
[s2;%% Sets stream of data to be posted with request. [%-*@3 len] is 
number of bytes to be sent from the stream, if Null, all remaining 
data from the stream are sent. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:GetPostData`(`)const: [_^Upp`:`:String^ String]_[* GetPostData
]()_[@(0.0.255) const]&]
[s2;%% Returns the value set by PostData.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:ResolveDigestAuthentication`(`): [@(0.0.255) bool]_[* ResolveD
igestAuthentication]()&]
[s2;%% This method is assigned to WhenAuthenticate by default. Provides 
standard HTTP digest authentication.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:PostUData`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* PostUData]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 pd])&]
[s2;%% Sets data to be posted with request, perform as url`-encoding 
of data. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Post`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* P
ost]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
[s2;%% Same as POST().PostData([%-*@3 data]). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Post`(const char`*`,const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* Post]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], [@(0.0.255) const]_[_^String^ Str
ing][@(0.0.255) `&]_[*@3 data])&]
[s2;%% Sets method to POST and name/value pair to the post data in 
the format used by HTML forms with `"POST`" method. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:Part`(const char`*`,const String`&`,const char`*`,const char`*`): [_^HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* Part]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data], [@(0.0.255) const]_[@(0.0.255) c
har]_`*[*@3 content`_type]_`=_NULL, [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 filename]_
`=_NULL)&]
[s2;%% First call sets HttpRequest to the multipart mode; unique 
part boundary is generated automatically. [%-*@3 id] is name of 
the part, [%-*@3 data] is cotnet. If [%-*@3 content`_type] is not 
NULL nor empty, it defines `"Content`-Type`" part header. [%-*@3 filename] 
can be used to define the `"filename`" part of `"Content`-Disposition`" 
part header.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:ClearPost`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* ClearPost
]()&]
[s2;%% Empties all Post data and sets the method to GET.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:Headers`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* Headers]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 h])&]
[s2;%% Sets text containing HTTP headers to be add after HttpRequest 
generated header fields. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ClearHeaders`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* ClearH
eaders]()&]
[s2;%% Same as Headers(Null).&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:AddHeaders`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* AddHeaders]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 h])&]
[s2;%% Adds text containing HTTP headers to be add after HttpRequest 
generated header fields. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Header`(const char`*`,const String`&`): [_^HttpRequest^ HttpRequest
][@(0.0.255) `&]_[* Header]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
[s2;%% Adds single name/value pair to headers. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:Cookie`(const HttpCookie`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* Cookie]([@(0.0.255) const]_[_^HttpCookie^ HttpCookie][@(0.0.255) `&]_[*@3 c])&]
[s2;%% Sets the cookie to be send with any subsequent request. Member 
raw of HttpCookie is ignored. Cookie is only send when path and 
domain match (can be set to Null to match always).&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:Cookie`(const String`&`,const String`&`,const String`&`,const String`&`): [_^HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* Cookie]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_
[*@3 id], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 value], 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 domain]_`=_Null, 
[@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 path]_`=_Null)&]
[s2;%% Sets the cookie to be send with any subsequent request. Member 
raw of HttpCookie is ignored. Cookie is only send when path and 
domain match (can be set to Null to match always)..&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:CopyCookies`(const HttpRequest`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* CopyCookies]([@(0.0.255) const]_[_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[*@3 r])&]
[s2;%% Copies cookies from another HttpRequest.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:ClearCookies`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* ClearC
ookies]()&]
[s2;%% Clears all cookies.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:StdHeaders`(bool`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* StdH
eaders]([@(0.0.255) bool]_[*@3 sh])&]
[s2;%% Determines whether HttpRequest should provide standard http 
header fields (URL, Host, Connection, Accept, Accept`-Encoding, 
User`-Agent, Content`-Length, Content`-Type). Default is yes. 
Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:NoStdHeaders`(`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* NoStdH
eaders]()&]
[s2;%% Same as StdHeaders(false).&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Accept`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_
[* Accept]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 a])&]
[s2;%% Sets the value of `"Accept`" field in HttpRequest generated 
portion of header. Default is `"`*/`*`". Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:UserAgent`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* UserAgent]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 a])&]
[s2;%% Specifies `"User`-Agent`" HTTP request field. Defualt is `"U`+`+ 
HTTP request`". Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ContentType`(const String`&`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* ContentType]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 a])&]
[s2;%% Specifies `"Content`-Type`" HTTP request field. Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:KeepAlive`(bool`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* KeepA
live]([@(0.0.255) bool]_[*@3 ka]_`=_[@(0.0.255) true])&]
[s2;%% If active, `"Connection`" HTTP request field is `"keep`-alive`", 
otherwise `"close`". Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Proxy`(const String`&`,int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* Proxy]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 host], 
[@(0.0.255) int]_[*@3 port])&]
[s2;%% Defines http proxy. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Proxy`(const char`*`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_[* P
roxy]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 p])&]
[s2;%% Defines http proxy, [%-*@3 p] should contain `"hostname:port`". 
If port is not present, it is set to 80. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ProxyAuth`(const String`&`,const String`&`): [_^HttpRequest^ HttpRe
quest][@(0.0.255) `&]_[* ProxyAuth]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 u
], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Defines username and password authentication for SSL proxy. 
Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:SSLProxy`(const String`&`,int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* SSLProxy]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 host], 
[@(0.0.255) int]_[*@3 port])&]
[s2;%% Defines proxy for SSL connection. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:SSLProxy`(const char`*`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&]_
[* SSLProxy]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 p])&]
[s2;%% Defines proxy for SSL connection, [%-*@3 p] should contain `"hostname:port`". 
If port is not present, it is set to 8080. Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:SSLProxyAuth`(const String`&`,const String`&`): [_^HttpRequest^ Htt
pRequest][@(0.0.255) `&]_[* SSLProxyAuth]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
]_[*@3 u], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Defines username and password authentication for SSL proxy. 
Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:SSLProxyGET`(bool`): [_^Upp`:`:HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* SSLProxyGET]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Makes SSL use GET proxy type instead of CONNECT method.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:CommonProxy`(const String`&`,int`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* CommonProxy]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 host], 
[@(0.0.255) int]_[*@3 port])&]
[s2;%% Defines both SSL and non`-SSL proxies to the same [%-*@3 host] 
and [%-*@3 port]. Same as Proxy(host, port); SSLProxy(host, port). 
Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:CommonProxy`(const char`*`): [_^HttpRequest^ HttpRequest][@(0.0.255) `&
]_[* CommonProxy]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 p])&]
[s2;%% Defines both SSL and non`-SSL proxies to the same server. 
Same as Proxy(p); SSLProxy(p), including default port definitions. 
Returns `*this.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:CommonProxyAuth`(const String`&`,const String`&`): [_^HttpRequest^ H
ttpRequest][@(0.0.255) `&]_[* CommonProxyAuth]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
]_[*@3 u], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p])&]
[s2;%% Defines username and password authentication for both SSL 
and non`-SSL proxis. Same as ProxyAuth(u, p); SSLProxyAuth(u, 
p). Returns `*this.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:IsSocketError`(`)const: [@(0.0.255) bool]_[* IsSocketError]()_[@(0.0.255) c
onst]&]
[s2;%% Returns true if there was error on socket level.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:IsHttpError`(`)const: [@(0.0.255) bool]_[* IsHttpError]()_[@(0.0.255) c
onst]&]
[s2;%% Returns true if there was error on HTTP protocol level.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:IsError`(`)const: [@(0.0.255) bool]_[* IsError]()_[@(0.0.255) const]&]
[s2;%% Same as IsSocketError() `|`| IsHttpError().&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetErrorDesc`(`)const: [_^String^ String]_[* GetErrorDesc]()_[@(0.0.255) c
onst]&]
[s2;%% Returns error description.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ClearError`(`): [@(0.0.255) void]_[* ClearError]()&]
[s2;%% Clears all errors.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetHeader`(const char`*`): [_^String^ String]_[* GetHeader]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 id])&]
[s5;:HttpRequest`:`:operator`[`]`(const char`*`): [_^String^ String]_[* operator`[`]]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 id])&]
[s2;%% Returns response header field. [%-*@3 id] must be lowercase.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetRedirectUrl`(`): [_^String^ String]_[* GetRedirectUrl]()&]
[s2;%% Returns processed Location field of HTTP response header.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:HasContentLength`(`): [@(0.0.255) bool]_[* HasContentLength]()
&]
[s2;%% Returns true if received HTTP header has content`-length field.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:GetContentLength`(`): [@(0.0.255) int64]_[* GetContentLength]()&]
[s2;%% Returns the content length as specified in HTTP response header 
or 0 if not specified or header not yet loaded.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetStatusCode`(`)const: [@(0.0.255) int]_[* GetStatusCode]()_[@(0.0.255) c
onst]&]
[s2;%% If request is finished, returns HTTP status code.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetReasonPhrase`(`)const: [_^String^ String]_[* GetReasonPhrase]()_[@(0.0.255) c
onst]&]
[s2;%% If request is finished, returns HTTP reason phrase.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:GetHttpHeader`(`)const: [@(0.0.255) const]_[_^HttpHeader^ HttpHeader][@(0.0.255) `&
]_[* GetHttpHeader]()_[@(0.0.255) const]&]
[s2;%% Returns HttpHeader of response.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:GetCookie`(const char`*`): [_^String^ String]_[* GetCookie]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 id])&]
[s2;%% Returns the value of cookie [%-*@3 id] of response.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetContent`(`)const: [_^String^ String]_[* GetContent]()_[@(0.0.255) co
nst]&]
[s5;:HttpRequest`:`:operator`~`(`)const: [_^String^ String]_[* operator`~]()_[@(0.0.255) co
nst]&]
[s5;:HttpRequest`:`:operator String`(`)const: [* operator_String]()_[@(0.0.255) const]&]
[s2;%% Returns current gather content result.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:ClearContent`(`): [@(0.0.255) void]_[* ClearContent]()&]
[s2;%% Clears the content result to reduce memory consumption. Can 
be called at any time.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Do`(`): [@(0.0.255) bool]_[* Do]()&]
[s2;%% Progresses the request. Maximum duration is defined by Socket`::Timeout. 
Returns true if processing is not finished.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:HttpRequest`:`:GetWaitEvents`(`): [_^Upp`:`:dword^ dword]_[* GetWaitEvents]()
&]
[s2;%% Returns a combination of WAIT`_READ and WAIT`_WRITE flags 
to indicate what is blocking the progress of HTTP request. Can 
be used with SocketWaitEvent.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:GetPhase`(`)const: [@(0.0.255) int]_[* GetPhase]()_[@(0.0.255) const]&]
[s2;%% Returns the current phase of request processing, one of BEGIN, 
START, DNS, SSLPROXYREQUEST, SSLPROXYRESPONSE, SSLHANDSHAKE, 
REQUEST, HEADER, BODY, CHUNK`_HEADER, CHUNK`_BODY, TRAILER, FINISHED, 
FAILED.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:GetPhaseName`(`)const: [_^String^ String]_[* GetPhaseName]()_[@(0.0.255) c
onst]&]
[s2;%% Returns the text description of current request phase.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:InProgress`(`)const: [@(0.0.255) bool]_[* InProgress]()_[@(0.0.255) con
st]&]
[s2;%% Returns true if request is still in progress.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:IsFailure`(`)const: [@(0.0.255) bool]_[* IsFailure]()_[@(0.0.255) const
]&]
[s2;%% Request has failed. That means either a communication error 
or failure of HTTP protocol. Successfully completed requests 
ending with non 2xx code are not considered failure.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:IsSuccess`(`)const: [@(0.0.255) bool]_[* IsSuccess]()_[@(0.0.255) const
]&]
[s2;%% Request succeeded with 2xx code. Not that IsSuccess is not 
complementary to IsFailure (request can e.g. end with 404 code, 
which means that both IsFailure() [/ and] IsSuccess() are false.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Execute`(`): [_^String^ String]_[* Execute]()&]
[s2;%% Performs the whole request, returns resulting content on success 
or String`::GetVoid() on failure.&]
[s3;%% &]
[s4; &]
[s5;:HttpRequest`:`:New`(`): [@(0.0.255) void]_[* New]()&]
[s2;%% Starts a new HTTP request. Unlike Clear, it does not change 
any existing settings. Does not break TCP connection to server. 
New request uses cookies received in previous requests.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:NewRequest`(`): [@(0.0.255) void]_[* NewRequest]()&]
[s2;%% Starts a new HTTP request without breaking the connection 
to the server. Sets all settings to initial state, except Cookies 
received `- those are send with the new request.&]
[s3; &]
[s4; &]
[s5;:HttpRequest`:`:Clear`(`): [@(0.0.255) void]_[* Clear]()&]
[s2;%% Sets HTTP request to initial default state (same as freshly 
constructed object) including cookies. Terminates TCP connection 
to server.&]
[s3; &]
[s4;%% &]
[s5;:HttpRequest`:`:HttpRequest`(`): [* HttpRequest]()&]
[s2;%% Default constructor.&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:HttpRequest`(const char`*`): [* HttpRequest]([@(0.0.255) const]_[@(0.0.255) c
har]_`*[*@3 url])&]
[s2;%% Constructs HttpRequest and calls Url([%-*@3 url]).&]
[s3;%% &]
[s4;%% &]
[s5;:HttpRequest`:`:Trace`(bool`): [@(0.0.255) static] [@(0.0.255) void]_[* Trace]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Activates/deactivates global logging for HttpRequests (default 
is not active).&]
[s3;%% ]]