Index of Section 3 Manual Pages

Interix / SUAne_set_expect100.3Interix / SUA

NE_SET_USERAGENT(3)     neon API reference    NE_SET_USERAGENT(3)



NAME
       ne_set_useragent,   ne_set_persist,   ne_set_read_timeout,
       ne_set_expect100 - common settings for HTTP sessions

SYNOPSIS
       #include 


       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);

       void ne_set_expect100 (ne_session *session, int flag);


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  conform-
       ing to RFC2616's product token grammar; of the form "Prod-
       uct/Version".


       By default neon will use a persistent connection  whenever
       possible. For specific applications, or for debugging pur-
       poses, it is sometimes useful to disable  persistent  con-
       nections. The ne_set_persist function will disable persis-
       tent connections if passed a flag parameter of 0, and will
       enable them otherwise.


       When  neon reads from a socket, by default the read opera-
       tion 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 num-
       ber of seconds as the timeout parameter.


       An  extension introduced in the HTTP/1.1 specification was
       the use of the Expect: 100-continue  header.  This  header
       allows  an  HTTP client to be informed of the expected re-
       sponse status before the request message body is  sent:  a
       useful  optimisation  for situations where a large message
       body is to be sent. The ne_set_expect100 function  can  be
       used  to enable this feature by passing the flag parameter
       as any non-zero integer.


              Warning



              Unfortunately, if this header is sent to  a  server
              which  is  not  fully  compliant  with the HTTP/1.1
              specification, a deadlock  occurs  resulting  in  a
              temporarily  "hung"  connection.  neon will recover
              gracefully from this situation, but only after a 15
              second  timeout. It is highly recommended that this
              option is not enabled unless it is known  that  the
              server in use correctly implements Expect: 100-con-
              tinue support.



EXAMPLES
       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);


AUTHOR
       Joe Orton .



neon 0.24.7                5 July 2004        NE_SET_USERAGENT(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA