ne_set_useragent
Prev | neon API reference | Next

## Name

ne_set_useragent, ne_set_read_timeout, ne_set_connect_timeout, ne_get_scheme, ne_get_server_hostport — common properties for HTTP sessions

## Synopsis

    #include <ne_session.h>

`void ne_set_useragent(` | ne_session *session,
| const char *product`)`;

`void ne_set_read_timeout(` | ne_session *session,
| int timeout`)`;

`void ne_set_connect_timeout(` | ne_session *session,
| int timeout`)`;

`const char *ne_get_scheme(` | ne_sesssion *session`)`;

`const char *ne_get_server_hostport(` | ne_sesssion *session`)`;

## Description

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"`.

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.

When a connection is being established to a server, normally only the system's TCP timeout handling will apply. To configure a specific (and probably shorter) timeout, the `ne_set_connect_timeout` can be used, giving the desired number of seconds as the `timeout` parameter. If `0` is passed, then the default behaviour of using the system TCP timeout will be used.

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.

## Examples

Set a user-agent string:

    ne_session *sess = ne_session_create(...);
    ne_set_useragent(sess, "MyApplication/2.1");

Set a 30 second read timeout:

    ne_session *sess = ne_session_create(...);
    ne_set_read_timeout(sess, 30);

## See also

ne_session_create, ne_set_session_flag.

Prev | Up | Next
ne_get_response_header | Home | ne_set_request_flag