Qore Programming Language Reference Manual 1.19.0
Loading...
Searching...
No Matches
QC_HTTPClient.dox.h
1
3namespace Qore {
5
200class HTTPClient : public Socket {
201
202public:
204
210nothing addDefaultHeaders(hash<auto> hdr);
211
212public:
214
220
221public:
223
232
233public:
235
245
246public:
248
257
258public:
260
270
271public:
273
292nothing connect();
293
294public:
296
397 constructor(hash<auto> opts);
398
399public:
401
407
408public:
410
413
414public:
416
422
423public:
425
430nothing disconnect();
431
432public:
434
488*string get(string path, *hash<auto> headers, *reference<hash<auto>> info);
489
490public:
492
506
507public:
509
521
522public:
524
537
538public:
540
549hash<string,string> getDefaultHeaders();
550
551public:
553
564
565public:
567
577string getEncoding();
578
579public:
581
597
598public:
600
617
618public:
620
631
632public:
634
647
648public:
650
661
662public:
664
675
676public:
678
685*string getPassword();
686
687public:
689
706
707public:
709
717
718public:
720
732*string getProxyURL();
733
734public:
736
744
745public:
747
762
763public:
765
781
782public:
784
799*string getSafeURL();
800
801public:
803
814
815public:
817
830*string getURL();
831
832public:
834
860hash<auto> getUsageInfo();
861
862public:
864
871*string getUsername();
872
873public:
875
923hash<auto> head(string path, *hash<auto> headers, *reference<hash<auto>> info);
924
925public:
927
938
939public:
941
952
953public:
955
966bool isSecure();
967
968public:
970
1022*string post(string path, string body, *hash<auto> headers, *reference<hash<auto>> info);
1023
1024public:
1026
1077*string post(string path, *binary body, *hash<auto> headers, *reference<hash<auto>> info);
1078
1079public:
1081
1152hash<auto> send(string body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1153
1154public:
1156
1209hash<auto> send(*binary body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1210
1211public:
1213
1270nothing send(Qore::OutputStream os, *data body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info, *code rcb);
1271
1272public:
1274
1340nothing sendChunked(Qore::OutputStream os, Qore::InputStream is, string method, int max_chunk_size = 4096, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info, *code rcb, *code tcb);
1341
1342public:
1344
1412nothing sendWithCallbacks(code scb, code rcb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1413
1414public:
1416
1480nothing sendWithRecvCallback(code rcb, string body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1481
1482public:
1484
1546nothing sendWithRecvCallback(code rcb, *binary body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1547
1548public:
1550
1609hash<auto> sendWithSendCallback(code scb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash> info);
1610
1611public:
1613
1622 setAssumedEncoding(*string encoding);
1623
1624public:
1626
1636nothing setConnectTimeout(timeout timeout_ms = -1);
1637
1638public:
1640
1649 setConnectionPath(*string uri_path);
1650
1651public:
1653
1660nothing setDefaultPath(*string path);
1661
1662public:
1664
1671nothing setEncoding(string encoding);
1672
1673public:
1675
1690bool setEncodingPassthru(bool set = True);
1691
1692public:
1694
1711bool setErrorPassthru(bool set = True);
1712
1713public:
1715
1721
1722public:
1724
1740nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
1741
1742public:
1744
1753nothing setHTTPVersion(string ver);
1754
1755public:
1757
1766nothing setMaxRedirects(softint mr = 0);
1767
1768public:
1770
1793int setNoDelay(softbool b = True);
1794
1795public:
1797
1811
1812public:
1814
1831bool setPreEncodedUrls(bool set = True);
1832
1833public:
1835
1842nothing setProxySecure(softbool b = True);
1843
1844public:
1846
1853nothing setProxyURL();
1854
1855public:
1857
1869nothing setProxyURL(string url);
1870
1871public:
1873
1884nothing setProxyUserPassword(string user, string pass);
1885
1886public:
1888
1901
1902public:
1904
1917bool setRedirectPassthru(bool set = True);
1918
1919public:
1921
1932nothing setSecure(softbool secure = True);
1933
1934public:
1936
1943nothing setTimeout(timeout timeout_ms = 0);
1944
1945public:
1947
1963 setURL(string url);
1964
1965public:
1967
1978nothing setUserPassword(string user, string pass);
1979
1980public:
1982
1995
1996public:
1998
2039nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms = 1s);
2040
2041public:
2043
2048
2049public:
2051
2081AbstractPollOperation startPollSendRecv(string method, *string path, string body, *hash<auto> headers);
2082
2083public:
2085
2115AbstractPollOperation startPollSendRecv(string method, *string path, *binary body, *hash<auto> headers);
2116};
2117}
Abstract poll operation objects provide the polling interface for pollable objects.
Definition: QC_AbstractPollOperation.dox.h:6
The HTTPClient class can be used to communicate with HTTP servers with and without TLS/SSL encryption...
Definition: QC_HTTPClient.dox.h:200
string getHostHeaderValue()
returns the Host header value for this object
bool getEncodingPassthru()
get the encoding passthru status
bool isProxySecure()
Returns the SSL/TLS flag for the next proxy connection.
AbstractPollOperation startPollSendRecv(string method, *string path, *binary body, *hash< auto > headers)
Returns an AbstractPollOperation object to send a message and receive the response.
*string getProxyUsername()
Returns any username set for the proxy connection, if any.
nothing setHTTPVersion(string ver)
Sets the HTTP protocol version string for headers in outgoing messages, allowed values are "1....
bool setErrorPassthru(bool set=True)
set the error passthru status
constructor()
Creates the HTTPClient object.
*string getConnectionPath()
Returns the current connection path set in the URL.
nothing setProxyURL(string url)
Sets a new proxy URL value for the next connection.
nothing sendWithRecvCallback(code rcb, string body, string method, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash< auto > > info)
Sends an HTTP request with the specified method and optional message body; headers and any body recei...
string getDefaultPath()
Returns the default path used by the object if no path is set in the URL.
setPersistent()
temporarily disables implicit reconnections; must be called when the server is already connected
*string getProxyURL()
Returns the current proxy URL as a string or NOTHING if no proxy URL is set.
bool getNoDelay()
Returns the TCP_NODELAY setting for the HTTPClient object.
*string getPassword()
Returns any password set for the connection.
nothing clearWarningQueue()
Removes any warning Queue object from the Socket.
*string getSafeProxyURL()
Returns the current proxy URL without the password field.
string getHTTPVersion()
Returns the HTTP protocol version string used in outgoing messages.
bool setEncodingPassthru(bool set=True)
set the encoding passthru status
bool isSecure()
Returns True if the current connection is encrypted, False if not.
*string get(string path, *hash< auto > headers, *reference< hash< auto > > info)
Sends an HTTP GET request and returns the message body received as a string or NOTHING if no message ...
nothing setConnectTimeout(timeout timeout_ms=-1)
Sets the connect timeout in milliseconds.
string getAssumedEncoding()
returns the assumed character encoding for messages from the HTTP server without any charset indicato...
AbstractPollOperation startPollSendRecv(string method, *string path, string body, *hash< auto > headers)
Returns an AbstractPollOperation object to send a message and receive the response.
nothing setSecure(softbool secure=True)
Sets the object to make a secure SSL/TLS connection on the next connect if the passed argument is Tru...
*string post(string path, string body, *hash< auto > headers, *reference< hash< auto > > info)
Sends an HTTP POST request with a message body and returns the message body received as a string or N...
clearStats()
Clears performance statistics.
*string getProxyPassword()
Returns any password set for the proxy connection, if any.
bool getPreEncodedUrls()
get the pre-encoded URL flag
bool getErrorPassthru()
get the error passthru status
nothing connect()
Connects to the remote socket; SSL/TLS negotiation is performed if required.
int getConnectTimeout()
Returns the connect timeout as an integer in milliseconds.
setURL(string url)
Sets a new URL value for the next connection.
nothing setEncoding(string encoding)
Sets the string encoding for the object; any strings deserialized with this object will be tagged wit...
nothing setDefaultPath(*string path)
Sets the default path used by the object if no path is set in the URL.
nothing sendChunked(Qore::OutputStream os, Qore::InputStream is, string method, int max_chunk_size=4096, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash< auto > > info, *code rcb, *code tcb)
Sends a chunked HTTP request with the specified method and message body; headers are returned through...
nothing send(Qore::OutputStream os, *data body, string method, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash< auto > > info, *code rcb)
Sends an HTTP request with the specified method and optional message body; headers are returned throu...
bool setPreEncodedUrls(bool set=True)
set the pre-encoded URL flag
*string getUsername()
Returns any username set for the connection.
string getEncoding()
Returns the character encoding used for the object.
nothing clearUserPassword()
Clears the username and password for the connection.
*string getURL()
Returns the current URL.
setConnectionPath(*string uri_path)
Overrides any connection path set in the URL.
nothing setUserPassword(string user, string pass)
Sets the username and password for the connection; call after HTTPClient::setURL()
copy()
Copying objects of this class is not supported, an exception will be thrown.
hash< auto > getUsageInfo()
Returns performance statistics for the socket.
constructor(hash< auto > opts)
Creates the HTTPClient object based on the option parameter passed.
nothing setUserPassword()
Clears the username and password for the connection.
nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data)
Sets a Queue object to receive HTTPClient and Socket events.
*string getSafeURL()
Returns the current URL without the password field.
hash< auto > send(*binary body, string method, *string path, *hash< auto > headers, softbool getbody=False, *reference< hash< auto > > info)
Sends an HTTP request with the specified method and optional message body and returns headers and any...
nothing sendWithCallbacks(code scb, code rcb, string method, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash< auto > > info)
Sends an HTTP request with the specified method and chunked message body as given by a send callback;...
hash< auto > head(string path, *hash< auto > headers, *reference< hash< auto > > info)
Sends an HTTP HEAD request and returns as hash of the headers received.
nothing addDefaultHeaders(hash< auto > hdr)
Sets headers to send by default with every outgoing request.
nothing sendWithRecvCallback(code rcb, *binary body, string method, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash< auto > > info)
Sends an HTTP request with the specified method and optional message body; headers and any body recei...
nothing clearProxyUserPassword()
Clears the username and password for the next proxy connection.
hash< string, string > getDefaultHeaders()
Returns a hash of default headers to be sent with every outgoing request.
nothing clearProxyURL()
Clears the new proxy URL value for the next connection.
int getTimeout()
Returns the default I/O timeout as an integer in milliseconds.
destructor()
Destroys the HTTPClient object and closes any open connections.
bool isConnected()
Returns True or False giving the current connection state.
hash< auto > sendWithSendCallback(code scb, string method, *string path, *hash< auto > headers, timeout timeout_ms=0, softbool getbody=False, *reference< hash > info)
Sends an HTTP request with the specified method and chunked message body as given by a send callback ...
bool getRedirectPassthru()
get the redirect passthru status
nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms=1s)
Sets a Queue object to receive socket warnings.
nothing setProxySecure(softbool b=True)
Sets the SSL/TLS flag for the next connection to the proxy.
int setNoDelay(softbool b=True)
Sets the TCP_NODELAY setting for the object.
nothing setMaxRedirects(softint mr=0)
Updates the setting for the max_redirects value for the object (maximum number of HTTP redirects that...
nothing disconnect()
Disconnects from the remote socket if a connection is established (otherwise does nothing)
*string post(string path, *binary body, *hash< auto > headers, *reference< hash< auto > > info)
Sends an HTTP POST request with a message body and returns the message body received as a string or N...
setAssumedEncoding(*string encoding)
sets the assumed character encoding for messages from the HTTP server without any charset indicator
nothing setProxyURL()
Clears the new proxy URL value for the next connection.
bool setRedirectPassthru(bool set=True)
set the redirect passthru status
nothing setEventQueue()
Clears any Queue object that may be set on the HTTPClient object so that I/O events are no longer cap...
nothing setProxyUserPassword()
Clears the username and password for the next proxy connection.
nothing setTimeout(timeout timeout_ms=0)
Sets the default I/O timeout value in milliseconds.
hash< auto > send(string body, string method, *string path, *hash< auto > headers, softbool getbody=False, *reference< hash< auto > > info)
Sends an HTTP request with the specified method and optional message body.
nothing setProxyUserPassword(string user, string pass)
Sets the username and password for the connection to the proxy; call after HTTPClient::setProxyURL()
int getMaxRedirects()
Returns the current max_redirects value for the object (the maximum number of HTTP redirects that wil...
AbstractPollOperation startPollConnect()
Returns an AbstractPollOperation object to make a non-blocking HTTP connection.
This class defines an abstract interface for input streams.
Definition: QC_InputStream.dox.h:19
This class defines an abstract interface for output streams.
Definition: QC_OutputStream.dox.h:18
The Socket class allows Qore programs safe access to network sockets.
Definition: QC_Socket.dox.h:152
Queue objects provide a blocking, thread-safe message-passing object to Qore programs
Definition: QC_Queue.dox.h:22
const True
logical True
Definition: qc_qore.dox.h:98
const False
logical False
Definition: qc_qore.dox.h:96
binary binary()
Always returns an empty binary object (of zero length)
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3