Qore Programming Language Reference Manual  1.8.0
QC_HTTPClient.dox.h
1 
3 namespace Qore {
5 
199 class HTTPClient : public Socket {
200 
201 public:
203 
209 nothing addDefaultHeaders(hash<auto> hdr);
210 
211 public:
213 
218 nothing clearProxyURL();
219 
220 public:
222 
230 
231 public:
233 
243 
244 public:
246 
254 
255 public:
257 
267 
268 public:
270 
284 nothing connect();
285 
286 public:
288 
352  constructor(hash<auto> opts);
353 
354 public:
356 
362 
363 public:
365 
367  copy();
368 
369 public:
371 
377 
378 public:
380 
385 nothing disconnect();
386 
387 public:
389 
443 *string get(string path, *hash<auto> headers, *reference<hash<auto>> info);
444 
445 public:
447 
461 
462 public:
464 
475 
476 public:
478 
491 
492 public:
494 
503 hash<string,string> getDefaultHeaders();
504 
505 public:
507 
517 string getDefaultPath();
518 
519 public:
521 
531 string getEncoding();
532 
533 public:
535 
551 
552 public:
554 
571 
572 public:
574 
584 string getHTTPVersion();
585 
586 public:
588 
601 
602 public:
604 
615 
616 public:
618 
628 bool getNoDelay();
629 
630 public:
632 
644 *string getProxyURL();
645 
646 public:
648 
663 
664 public:
666 
681 *string getSafeProxyURL();
682 
683 public:
685 
700 *string getSafeURL();
701 
702 public:
704 
715 
716 public:
718 
731 *string getURL();
732 
733 public:
735 
756 hash<auto> getUsageInfo();
757 
758 public:
760 
808 hash<auto> head(string path, *hash<auto> headers, *reference<hash<auto>> info);
809 
810 public:
812 
822 bool isConnected();
823 
824 public:
826 
837 
838 public:
840 
851 bool isSecure();
852 
853 public:
855 
907 *string post(string path, string body, *hash<auto> headers, *reference<hash<auto>> info);
908 
909 public:
911 
962 *string post(string path, *binary body, *hash<auto> headers, *reference<hash<auto>> info);
963 
964 public:
966 
1018 hash<auto> send(string body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1019 
1020 public:
1022 
1073 hash<auto> send(*binary body, string method, *string path, *hash<auto> headers, softbool getbody = False, *reference<hash<auto>> info);
1074 
1075 public:
1077 
1132 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);
1133 
1134 public:
1136 
1200 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);
1201 
1202 public:
1204 
1270 nothing sendWithCallbacks(code scb, code rcb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1271 
1272 public:
1274 
1336 nothing sendWithRecvCallback(code rcb, string body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1337 
1338 public:
1340 
1400 nothing sendWithRecvCallback(code rcb, *binary body, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash<auto>> info);
1401 
1402 public:
1404 
1461 hash<auto> sendWithSendCallback(code scb, string method, *string path, *hash<auto> headers, timeout timeout_ms = 0, softbool getbody = False, *reference<hash> info);
1462 
1463 public:
1465 
1474  setAssumedEncoding(*string encoding);
1475 
1476 public:
1478 
1485 nothing setConnectTimeout(timeout timeout_ms = -1);
1486 
1487 public:
1489 
1498  setConnectionPath(*string uri_path);
1499 
1500 public:
1502 
1509 nothing setDefaultPath(*string path);
1510 
1511 public:
1513 
1520 nothing setEncoding(string encoding);
1521 
1522 public:
1524 
1539 bool setEncodingPassthru(bool set = True);
1540 
1541 public:
1543 
1560 bool setErrorPassthru(bool set = True);
1561 
1562 public:
1564 
1569 nothing setEventQueue();
1570 
1571 public:
1573 
1588 nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
1589 
1590 public:
1592 
1601 nothing setHTTPVersion(string ver);
1602 
1603 public:
1605 
1614 nothing setMaxRedirects(softint mr = 0);
1615 
1616 public:
1618 
1635 int setNoDelay(softbool b = True);
1636 
1637 public:
1639 
1652 
1653 public:
1655 
1662 nothing setProxySecure(softbool b = True);
1663 
1664 public:
1666 
1673 nothing setProxyURL();
1674 
1675 public:
1677 
1689 nothing setProxyURL(string url);
1690 
1691 public:
1693 
1703 nothing setProxyUserPassword(string user, string pass);
1704 
1705 public:
1707 
1719 
1720 public:
1722 
1735 bool setRedirectPassthru(bool set = True);
1736 
1737 public:
1739 
1750 nothing setSecure(softbool secure = True);
1751 
1752 public:
1754 
1761 nothing setTimeout(timeout timeout_ms = 0);
1762 
1763 public:
1765 
1781  setURL(string url);
1782 
1783 public:
1785 
1795 nothing setUserPassword(string user, string pass);
1796 
1797 public:
1799 
1811 
1812 public:
1814 
1846 nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms = 1s);
1847 };
1848 }
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.
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.
string getDefaultPath()
Returns 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...
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.
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...
bool getNoDelay()
Returns the TCP_NODELAY setting for the HTTPClient object.
nothing clearWarningQueue()
Removes any warning Queue object from the Socket.
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...
*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.
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...
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...
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 and returns headers and any...
clearStats()
Clears performance statistics.
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...
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.
*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...
string getEncoding()
Returns the character encoding used for the object.
nothing clearUserPassword()
Clears the username and password for the connection.
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 getURL()
Returns the current URL.
setConnectionPath(*string uri_path)
Overrides any connection path set in the URL.
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;...
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 > head(string path, *hash< auto > headers, *reference< hash< auto >> info)
Sends an HTTP HEAD request and returns as hash of the headers received.
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.
*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...
*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 ...
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 ...
nothing addDefaultHeaders(hash< auto > hdr)
Sets headers to send by default with every outgoing request.
nothing clearProxyUserPassword()
Clears the username and password for the next proxy connection.
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.
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.
hash< auto > getUsageInfo()
Returns performance statistics for the socket.
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)
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
hash< string, string > getDefaultHeaders()
Returns a hash of default headers to be sent with every outgoing request.
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.
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...
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:136
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