ne_set_useragent, ne_set_persist, ne_set_read_timeout, ne_get_scheme, ne_get_server_hostport — common properties for HTTP sessions
#include <ne_session.h>
void ne_set_useragent( | ne_session * | session, |
const char * | product) ; |
void ne_set_persist( | ne_session * | session, |
int | flag) ; |
void ne_set_read_timeout( | ne_session * | session, |
int | timeout) ; |
const char *ne_get_scheme( | ne_sesssion * | session) ; |
const char *ne_get_server_hostport( | ne_sesssion * | session) ; |
The User-Agent
request header is used
to identify the software which generated the request for statistical
or debugging purposes. neon does not send a
User-Agent
header unless a call is made to the
ne_set_useragent
.
ne_set_useragent
must be passed a product string
conforming to RFC2616's product token grammar; of the form
"Product/Version"
.
By default neon will use a persistent connection
whenever possible. For specific applications, or for debugging
purposes, it is sometimes useful to disable persistent connections.
The ne_set_persist
function will disable
persistent connections if passed a flag
parameter of 0
, and will enable them
otherwise.
When neon reads from a socket, by default the read
operation will time out after 60 seconds, and the request will fail
giving an NE_TIMEOUT error. To configure this
timeout interval, call ne_set_read_timeout
giving
the desired number of seconds as the timeout
parameter.
The scheme used to initially create the session will be
returned by ne_get_scheme
.
The hostport pair with which the session is associated
will be returned by the
ne_get_server_hostport
; for example
www.example.com:8080
. Note that the
:port
will be omitted if the default port
for the scheme is used.
Set a user-agent string:
ne_session *sess = ne_session_create(...); ne_set_useragent(sess, "MyApplication/2.1");
Disable use of persistent connections:
ne_session *sess = ne_session_create(...); ne_set_persist(sess, 0);
Set a 30 second read timeout:
ne_session *sess = ne_session_create(...); ne_set_read_timeout(sess, 30);