![]() |
Qore Programming Language - C/C++ Library 2.1.1
|
provides a way to communicate with HTTP servers using Qore data structures More...
#include <QoreHTTPClient.h>
Public Member Functions | |
| DLLEXPORT | QoreHTTPClient () |
| creates the QoreHTTPClient object | |
| virtual DLLEXPORT | ~QoreHTTPClient () |
| destroys the object and frees all associated memory | |
Public Member Functions inherited from QoreHttpClientObject | |
| DLLEXPORT | QoreHttpClientObject () |
| creates the QoreHttpClientObject object | |
| virtual DLLEXPORT | ~QoreHttpClientObject () |
| destroys the object and frees all associated memory | |
| DLLEXPORT void | addDefaultHeaders (const QoreHashNode *hdr) |
| Sets the value of multiple headers to send with every outgoing message. | |
| DLLEXPORT void | addProtocol (const char *prot, int port, bool ssl=false) |
| adds a protocol | |
| DLLEXPORT void | clearPersistent () |
| Clears the persistent connection flag and reenables implicit reconnections. | |
| DLLEXPORT void | clearProxyURL () |
| clears the proxy URL | |
| DLLEXPORT void | clearProxyUserPassword () |
| clears the username and password for the proxy connection | |
| DLLEXPORT void | clearUserPassword () |
| clears the username and password for the connection | |
| DLLEXPORT int | connect (ExceptionSink *xsink) |
| opens a connection and returns a code giving the result | |
| virtual DLLLOCAL void | deref () |
| decrements the reference count of the object without the possibility of throwing a Qore-language exception | |
| virtual DLLEXPORT void | deref (ExceptionSink *xsink) |
| decrements the reference count and deletes the object when it reaches 0 | |
| DLLEXPORT void | disconnect () |
| disconnects from the remote server | |
| DLLEXPORT AbstractQoreNode * | get (const char *path, const QoreHashNode *headers, QoreHashNode *info, ExceptionSink *xsink) |
| sends an HTTP "GET" method and returns the value of the message body returned | |
| DLLEXPORT QoreStringNode * | getAssumedEncoding () const |
| gets the assumed encoding | |
| DLLEXPORT QoreHashNode * | getConfig () const |
| Returns a configuration hash for the object. | |
| DLLEXPORT const char * | getConnectionPath () const |
| returns the current connection path or 0 if none is set | |
| DLLEXPORT int | getConnectTimeout () const |
| returns the connect timeout in ms, negative numbers mean no timeout | |
| DLLEXPORT QoreHashNode * | getDefaultHeaders () const |
| Returns a hash of default headers to be sent with every outgoing request. | |
| DLLEXPORT const char * | getDefaultPath () const |
| returns the default path or 0 if none is set | |
| DLLEXPORT const QoreEncoding * | getEncoding () const |
| returns the default encoding for the object | |
| DLLEXPORT bool | getEncodingPassthru () const |
| returns the current encoding_passthru status | |
| DLLEXPORT bool | getErrorPassthru () const |
| returns the current error_passthru status | |
| DLLEXPORT QoreStringNode * | getHostHeaderValue () const |
returns the Host header value | |
| DLLEXPORT const char * | getHTTPVersion () const |
| returns the http version as a string (either "1.0" or "1.1") | |
| DLLEXPORT int | getMaxRedirects () const |
| returns the value of the max_redirects option | |
| DLLEXPORT bool | getNoDelay () const |
| returns the value of the TCP_NODELAY flag on the object | |
| DLLEXPORT QoreStringNode * | getPassword () const |
| Returns the password for the connection, if any. | |
| DLLEXPORT unsigned | getPersistentCount () const |
| Returns the persistent connection count. | |
| DLLEXPORT bool | getPreEncodedUrls () const |
| returns the current pre_encoded_urls flag | |
| DLLEXPORT QoreStringNode * | getProxyPassword () const |
| Returns the password for the proxy connection, if any. | |
| DLLEXPORT QoreStringNode * | getProxyURL () |
| returns the proxy connection parameters as a URL (or 0 if there is none) | |
| DLLEXPORT QoreStringNode * | getProxyUsername () const |
| Returns the username for the proxy connection, if any. | |
| DLLEXPORT bool | getRedirectPassthru () const |
| returns the current redirect_passthru status | |
| DLLEXPORT QoreStringNode * | getSafeProxyURL () |
| returns the proxy connection parameters as a URL without any password (or 0 if there is none) | |
| DLLEXPORT int | getTimeout () const |
| returns the connection and response packet timeout value in milliseconds | |
| DLLEXPORT QoreStringNode * | getUrl (int64 code=URL_NORMAL) |
| returns the connection parameters as a URL according to the parameters passed | |
| DLLEXPORT QoreStringNode * | getUsername () const |
| Returns the username for the connection, if any. | |
| DLLEXPORT QoreHashNode * | head (const char *path, const QoreHashNode *headers, QoreHashNode *info, ExceptionSink *xsink) |
| sends an HTTP "HEAD" method and returns the headers returned, the caller owns the QoreHashNode reference returned | |
| DLLEXPORT bool | isConnected () const |
| returns the connection status of the object | |
| DLLEXPORT bool | isHTTP11 () const |
| returns true if HTTP 1.1 protocol compliance has been set | |
| DLLEXPORT bool | isPersistent () const |
| Returns the value of the persistent connection flag. | |
| DLLEXPORT bool | isProxySecure () const |
| returns the SSL proxy connection parameter flag | |
| DLLEXPORT bool | isSecure () const |
| returns the SSL connection parameter flag | |
| DLLEXPORT AbstractQoreNode * | post (const char *path, const QoreHashNode *headers, const QoreStringNode &body, QoreHashNode *info, ExceptionSink *xsink) |
| sends an HTTP "POST" message to the remote server and returns the message body of the response | |
| DLLEXPORT AbstractQoreNode * | post (const char *path, const QoreHashNode *headers, const void *data, unsigned size, QoreHashNode *info, ExceptionSink *xsink) |
| sends an HTTP "POST" message to the remote server and returns the message body of the response | |
| DLLEXPORT QoreHashNode * | send (const char *meth, const char *path, const QoreHashNode *headers, const void *data, unsigned size, bool getbody, QoreHashNode *info, ExceptionSink *xsink) |
| sends a message to the remote server and returns the entire response as a hash | |
| DLLEXPORT void | sendChunked (const char *meth, const char *mpath, const QoreHashNode *headers, bool getbody, QoreHashNode *info, int timeout_ms, const ResolvedCallReferenceNode *recv_callback, QoreObject *obj, OutputStream *os, InputStream *is, size_t max_chunk_size, const ResolvedCallReferenceNode *trailer_callback, ExceptionSink *xsink) |
| send a chunked HTTP message through an InputStream and receive the response to an OutputStream | |
| DLLEXPORT void | sendWithOutputStream (const char *meth, const char *mpath, const QoreHashNode *headers, const QoreStringNode &body, bool getbody, QoreHashNode *info, int timeout_ms, const ResolvedCallReferenceNode *recv_callback, QoreObject *obj, OutputStream *os, ExceptionSink *xsink) |
| make an HTTP request and receive the response to an OutputStream | |
| DLLEXPORT void | sendWithOutputStream (const char *meth, const char *mpath, const QoreHashNode *headers, const void *data, unsigned size, bool getbody, QoreHashNode *info, int timeout_ms, const ResolvedCallReferenceNode *recv_callback, QoreObject *obj, OutputStream *os, ExceptionSink *xsink) |
| make an HTTP request and receive the response to an OutputStream | |
| DLLEXPORT void | setAssumedEncoding (const char *enc) |
| sets the assumed encoding | |
| DLLEXPORT void | setConnectionPath (const char *path) |
| sets or clears the connection path | |
| DLLEXPORT void | setConnectTimeout (int ms) |
| sets the connect timeout in ms | |
| DLLEXPORT void | setDefaultHeaderValue (const char *header, const char *val) |
| sets the value of a default header to send with every outgoing message | |
| DLLEXPORT void | setDefaultPath (const char *pth) |
| sets the default path | |
| DLLEXPORT void | setDefaultPort (int prt) |
| sets the default port | |
| DLLEXPORT void | setEncoding (const QoreEncoding *qe) |
| sets the default encoding for the object | |
| DLLEXPORT bool | setEncodingPassthru (bool set) |
| sets the new and returns the old encoding_passthru status | |
| DLLEXPORT bool | setErrorPassthru (bool set) |
| sets the new and returns the old error_passthru status | |
| DLLEXPORT void | setEventQueue (ExceptionSink *xsink, Queue *q, QoreValue arg, bool with_data) |
| sets the event queue, must be already referenced before call | |
| DLLEXPORT void | setEventQueue (Queue *cbq, ExceptionSink *xsink) |
| sets the event queue, must be already referenced before call | |
| DLLEXPORT void | setHTTP11 (bool h11) |
| sets or clears HTTP 1.1 protocol compliance | |
| DLLEXPORT int | setHTTPVersion (const char *version, ExceptionSink *xsink) |
| sets the http version from a string | |
| DLLEXPORT void | setMaxRedirects (int max) |
| sets the max_redirects option | |
| DLLEXPORT int | setNoDelay (bool nodelay) |
| sets the TCP_NODELAY flag on the object | |
| DLLEXPORT int | setOptions (const QoreHashNode *opts, ExceptionSink *xsink) |
| set options with a hash, returns -1 if an exception was thrown, 0 for OK | |
| DLLEXPORT void | setPersistent (ExceptionSink *xsink) |
| temporarily disables implicit reconnections; must be called when the server is already connected | |
| DLLEXPORT bool | setPreEncodedUrls (bool set) |
| sets the new and returns the old pre_encoded_urls flag | |
| DLLEXPORT void | setProxySecure (bool is_secure) |
| sets the SSL flag for use in the next connection to the proxy | |
| DLLEXPORT int | setProxyURL (const char *proxy, ExceptionSink *xsink) |
| sets the proxy URL | |
| DLLEXPORT void | setProxyUserPassword (const char *user, const char *pass) |
| sets the username and password for the proxy connection | |
| DLLEXPORT bool | setRedirectPassthru (bool set) |
| sets the new and returns the old redirect_passthru status | |
| DLLEXPORT void | setSecure (bool is_secure) |
| sets the SSL flag for use in the next connection | |
| DLLEXPORT void | setTimeout (int to) |
| sets the connection and response packet timeout value in milliseconds | |
| DLLEXPORT int | setURL (const char *url, ExceptionSink *xsink) |
| sets the connection URL | |
| DLLEXPORT void | setUserPassword (const char *user, const char *pass) |
| sets the username and password for the connection | |
| DLLEXPORT QoreObject * | startPollConnect (ExceptionSink *xsink, QoreObject *self) |
| Starts a socket connect poll operation. | |
| DLLEXPORT QoreObject * | startPollSendRecv (ExceptionSink *xsink, QoreObject *self, const QoreString *method, const QoreString *path, const AbstractQoreNode *data_save, const void *data, size_t size, const QoreHashNode *headers, const QoreEncoding *enc=nullptr) |
| Starts a non-blocking, polling HTTP send/receive operation. | |
provides a way to communicate with HTTP servers using Qore data structures
thread-safe, uses QoreSocket for socket communication