Qore Programming Language Reference Manual 1.12.3
Loading...
Searching...
No Matches
QC_HTTPClient.dox.h
1
3namespace Qore {
5
199class HTTPClient : public Socket {
200
201public:
203
209nothing addDefaultHeaders(hash<auto> hdr);
210
211public:
213
219
220public:
222
230
231public:
233
243
244public:
246
254
255public:
257
267
268public:
270
289nothing connect();
290
291public:
293
385 constructor(hash<auto> opts);
386
387public:
389
395
396public:
398
401
402public:
404
410
411public:
413
418nothing disconnect();
419
420public:
422
476*string get(string path, *hash<auto> headers, *reference<hash<auto>> info);
477
478public:
480
494
495public:
497
508
509public:
511
524
525public:
527
536hash<string,string> getDefaultHeaders();
537
538public:
540
551
552public:
554
564string getEncoding();
565
566public:
568
584
585public:
587
604
605public:
607
618
619public:
621
634
635public:
637
648
649public:
651
662
663public:
665
677*string getProxyURL();
678
679public:
681
696
697public:
699
715
716public:
718
733*string getSafeURL();
734
735public:
737
748
749public:
751
764*string getURL();
765
766public:
768
789hash<auto> getUsageInfo();
790
791public:
793
841hash<auto> head(string path, *hash<auto> headers, *reference<hash<auto>> info);
842
843public:
845
856
857public:
859
870
871public:
873
884bool isSecure();
885
886public:
888
940*string post(string path, string body, *hash<auto> headers, *reference<hash<auto>> info);
941
942public:
944
995*string post(string path, *binary body, *hash<auto> headers, *reference<hash<auto>> info);
996
997public:
999
1068hash<auto> send(string body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1069
1070public:
1072
1123hash<auto> send(*binary body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1124
1125public:
1127
1182nothing 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);
1183
1184public:
1186
1250nothing 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);
1251
1252public:
1254
1320nothing sendWithCallbacks(code scb, code rcb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1321
1322public:
1324
1386nothing sendWithRecvCallback(code rcb, string body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1387
1388public:
1390
1450nothing sendWithRecvCallback(code rcb, *binary body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1451
1452public:
1454
1511hash<auto> sendWithSendCallback(code scb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash> info);
1512
1513public:
1515
1524 setAssumedEncoding(*string encoding);
1525
1526public:
1528
1535nothing setConnectTimeout(timeout timeout_ms = -1);
1536
1537public:
1539
1548 setConnectionPath(*string uri_path);
1549
1550public:
1552
1559nothing setDefaultPath(*string path);
1560
1561public:
1563
1570nothing setEncoding(string encoding);
1571
1572public:
1574
1589bool setEncodingPassthru(bool set = True);
1590
1591public:
1593
1610bool setErrorPassthru(bool set = True);
1611
1612public:
1614
1620
1621public:
1623
1638nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
1639
1640public:
1642
1651nothing setHTTPVersion(string ver);
1652
1653public:
1655
1664nothing setMaxRedirects(softint mr = 0);
1665
1666public:
1668
1685int setNoDelay(softbool b = True);
1686
1687public:
1689
1702
1703public:
1705
1712nothing setProxySecure(softbool b = True);
1713
1714public:
1716
1723nothing setProxyURL();
1724
1725public:
1727
1739nothing setProxyURL(string url);
1740
1741public:
1743
1753nothing setProxyUserPassword(string user, string pass);
1754
1755public:
1757
1769
1770public:
1772
1785bool setRedirectPassthru(bool set = True);
1786
1787public:
1789
1800nothing setSecure(softbool secure = True);
1801
1802public:
1804
1811nothing setTimeout(timeout timeout_ms = 0);
1812
1813public:
1815
1831 setURL(string url);
1832
1833public:
1835
1845nothing setUserPassword(string user, string pass);
1846
1847public:
1849
1861
1862public:
1864
1896nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms = 1s);
1897
1898public:
1900
1905
1906public:
1908
1938AbstractPollOperation startPollSendRecv(string method, *string path, string body, *hash<auto> headers);
1939
1940public:
1942
1972AbstractPollOperation startPollSendRecv(string method, *string path, *binary body, *hash<auto> headers);
1973};
1974}
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:199
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.
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.
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.
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...
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