SoupServer

SoupServer — HTTP server

Synopsis




struct              SoupServer;
                    SoupServerContext;
void                (*SoupServerCallbackFn)             (SoupServerContext *context,
                                                         SoupMessage *msg,
                                                         gpointer user_data);
void                (*SoupServerUnregisterFn)           (SoupServer *server,
                                                         SoupServerHandler *handler,
                                                         gpointer user_data);
SoupServer*         soup_server_new                     (const char *optname1,
                                                         ...);
SoupProtocol        soup_server_get_protocol            (SoupServer *serv);
guint               soup_server_get_port                (SoupServer *serv);
SoupSocket*         soup_server_get_listener            (SoupServer *serv);
void                soup_server_run                     (SoupServer *serv);
void                soup_server_run_async               (SoupServer *serv);
void                soup_server_quit                    (SoupServer *serv);

typedef             SoupServerHandler;
void                soup_server_add_handler             (SoupServer *serv,
                                                         const char *path,
                                                         SoupServerAuthContext *auth_ctx,
                                                         SoupServerCallbackFn callback,
                                                         SoupServerUnregisterFn unreg,
                                                         gpointer data);
void                soup_server_remove_handler          (SoupServer *serv,
                                                         const char *path);
SoupServerHandler*  soup_server_get_handler             (SoupServer *serv,
                                                         const char *path);
GSList*             soup_server_list_handlers           (SoupServer *serv);
SoupAddress*        soup_server_context_get_client_address
                                                        (SoupServerContext *ctx);
const char*         soup_server_context_get_client_host (SoupServerContext *ctx);

#define             SOUP_SERVER_PORT
#define             SOUP_SERVER_INTERFACE
#define             SOUP_SERVER_SSL_CERT_FILE
#define             SOUP_SERVER_SSL_KEY_FILE
#define             SOUP_SERVER_ASYNC_CONTEXT


Object Hierarchy


  GObject
   +----SoupServer

Properties


  "async-context"            gpointer              : Read / Write / Construct Only
  "interface"                SoupAddress           : Read / Write / Construct Only
  "port"                     guint                 : Read / Write / Construct Only
  "ssl-cert-file"            gchararray            : Read / Write / Construct Only
  "ssl-key-file"             gchararray            : Read / Write / Construct Only

Description

SoupServer implements a simple HTTP server.

This API is less stable than the soup client API, and will most likely change in the next release.

Details

struct SoupServer

struct SoupServer;


SoupServerContext

typedef struct {
	SoupMessage       *msg;
	char              *path;
	SoupMethodId       method_id;
	SoupServerAuth    *auth;
	SoupServer        *server;
	SoupServerHandler *handler;
	SoupSocket        *sock;
} SoupServerContext;


SoupServerCallbackFn ()

void                (*SoupServerCallbackFn)             (SoupServerContext *context,
                                                         SoupMessage *msg,
                                                         gpointer user_data);

context :

msg :

user_data :


SoupServerUnregisterFn ()

void                (*SoupServerUnregisterFn)           (SoupServer *server,
                                                         SoupServerHandler *handler,
                                                         gpointer user_data);

server :

handler :

user_data :


soup_server_new ()

SoupServer*         soup_server_new                     (const char *optname1,
                                                         ...);

optname1 :

... :

Returns :


soup_server_get_protocol ()

SoupProtocol        soup_server_get_protocol            (SoupServer *serv);

serv :

Returns :


soup_server_get_port ()

guint               soup_server_get_port                (SoupServer *serv);

serv :

Returns :


soup_server_get_listener ()

SoupSocket*         soup_server_get_listener            (SoupServer *serv);

serv :

Returns :


soup_server_run ()

void                soup_server_run                     (SoupServer *serv);

serv :


soup_server_run_async ()

void                soup_server_run_async               (SoupServer *serv);

serv :


soup_server_quit ()

void                soup_server_quit                    (SoupServer *serv);

serv :


SoupServerHandler

typedef struct SoupServerHandler SoupServerHandler;


soup_server_add_handler ()

void                soup_server_add_handler             (SoupServer *serv,
                                                         const char *path,
                                                         SoupServerAuthContext *auth_ctx,
                                                         SoupServerCallbackFn callback,
                                                         SoupServerUnregisterFn unreg,
                                                         gpointer data);

serv :

path :

auth_ctx :

callback :

unreg :

data :


soup_server_remove_handler ()

void                soup_server_remove_handler          (SoupServer *serv,
                                                         const char *path);

serv :

path :


soup_server_get_handler ()

SoupServerHandler*  soup_server_get_handler             (SoupServer *serv,
                                                         const char *path);

serv :

path :

Returns :


soup_server_list_handlers ()

GSList*             soup_server_list_handlers           (SoupServer *serv);

serv :

Returns :


soup_server_context_get_client_address ()

SoupAddress*        soup_server_context_get_client_address
                                                        (SoupServerContext *ctx);

ctx :

Returns :


soup_server_context_get_client_host ()

const char*         soup_server_context_get_client_host (SoupServerContext *ctx);

ctx :

Returns :


SOUP_SERVER_PORT

#define SOUP_SERVER_PORT          "port"

An alias for the "port" property.


SOUP_SERVER_INTERFACE

#define SOUP_SERVER_INTERFACE     "interface"

An alias for the "interface" property.


SOUP_SERVER_SSL_CERT_FILE

#define SOUP_SERVER_SSL_CERT_FILE "ssl-cert-file"

An alias for the "ssl-cert-file" property.


SOUP_SERVER_SSL_KEY_FILE

#define SOUP_SERVER_SSL_KEY_FILE  "ssl-key-file"

An alias for the "ssl-key-file" property.


SOUP_SERVER_ASYNC_CONTEXT

#define SOUP_SERVER_ASYNC_CONTEXT "async-context"

An alias for the "async-context" property.

Property Details

The "async-context" property

  "async-context"            gpointer              : Read / Write / Construct Only

The GMainContext to dispatch async I/O in.


The "interface" property

  "interface"                SoupAddress           : Read / Write / Construct Only

Address of interface to listen on.


The "port" property

  "port"                     guint                 : Read / Write / Construct Only

Port to listen on.

Allowed values: <= 65536

Default value: 0


The "ssl-cert-file" property

  "ssl-cert-file"            gchararray            : Read / Write / Construct Only

File containing server SSL certificate.

Default value: NULL


The "ssl-key-file" property

  "ssl-key-file"             gchararray            : Read / Write / Construct Only

File containing server SSL key.

Default value: NULL