mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 22:02:49 -06:00
587 lines
No EOL
27 KiB
C++
587 lines
No EOL
27 KiB
C++
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;%% ]] |