您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ soup_message_set_status函数代码示例

51自学网 2021-06-03 08:07:31
  C++
这篇教程C++ soup_message_set_status函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中soup_message_set_status函数的典型用法代码示例。如果您正苦于以下问题:C++ soup_message_set_status函数的具体用法?C++ soup_message_set_status怎么用?C++ soup_message_set_status使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了soup_message_set_status函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: do_put

static voiddo_put (SoupServer *server, SoupMessage *msg, const char *path){	struct stat st;	FILE *f;	gboolean created = TRUE;	if (stat (path, &st) != -1) {		const char *match = soup_message_headers_get_one (msg->request_headers, "If-None-Match");		if (match && !strcmp (match, "*")) {			soup_message_set_status (msg, SOUP_STATUS_CONFLICT);			return;		}		if (!S_ISREG (st.st_mode)) {			soup_message_set_status (msg, SOUP_STATUS_FORBIDDEN);			return;		}		created = FALSE;	}	f = fopen (path, "w");	if (!f) {		soup_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR);		return;	}	fwrite (msg->request_body->data, 1, msg->request_body->length, f);	fclose (f);	soup_message_set_status (msg, created ? SOUP_STATUS_CREATED : SOUP_STATUS_OK);}
开发者ID:Distrotech,项目名称:libsoup,代码行数:33,


示例2: gss_program_jpeg_resource

static voidgss_program_jpeg_resource (GssTransaction * t){  GssProgram *program = (GssProgram *) t->resource->priv;  GstBuffer *buffer = NULL;  if (!program->enable_streaming || program->state != GSS_PROGRAM_STATE_RUNNING) {    soup_message_set_status (t->msg, SOUP_STATUS_NO_CONTENT);    return;  }  if (program->jpegsink) {    g_object_get (program->jpegsink, "last-buffer", &buffer, NULL);  }  if (buffer) {    soup_message_set_status (t->msg, SOUP_STATUS_OK);    soup_message_set_response (t->msg, "image/jpeg", SOUP_MEMORY_COPY,        (void *) GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer));    gst_buffer_unref (buffer);  } else {    gss_html_error_404 (t->server, t->msg);  }}
开发者ID:SuchangKo,项目名称:gst-stream-server,代码行数:27,


示例3: serverCallback

static voidserverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable* query, SoupClientContext* context, void* data){    if (message->method != SOUP_METHOD_GET) {        soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    if (g_str_equal(path, "/favicon.ico")) {        soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);        soup_message_body_complete(message->response_body);        return;    }    char* contents;    gsize length;    if (g_str_equal(path, "/icon/favicon.ico")) {        GUniquePtr<char> pathToFavicon(g_build_filename(Test::getResourcesDir().data(), "blank.ico", nullptr));        g_file_get_contents(pathToFavicon.get(), &contents, &length, 0);        soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, contents, length);    } else if (g_str_equal(path, "/nofavicon")) {        static const char* noFaviconHTML = "<html><head><body>test</body></html>";        soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, noFaviconHTML, strlen(noFaviconHTML));    } else {        static const char* contentsHTML = "<html><head><link rel='icon' href='/icon/favicon.ico' type='image/x-ico; charset=binary'></head><body>test</body></html>";        soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, contentsHTML, strlen(contentsHTML));    }    soup_message_set_status(message, SOUP_STATUS_OK);    soup_message_body_complete(message->response_body);}
开发者ID:AndriyKalashnykov,项目名称:webkit,代码行数:31,


示例4: get

void get(SoupServer *server,         SoupMessage *msg,         const char *path){	struct btval key, val;	key.data = (void*)path+1;	key.size = strlen(path)-1;	key.free_data = FALSE;	key.mp = NULL;	g_debug ("GET/n Path=%s/n Fetching key %s", path, (char*)key.data);	const struct btree_stat *stat = btree_stat(btree);	show_dbstats("",stat);	if (0 == btree_get(btree,&key,&val)) {		g_debug ("hmm %s", (char*)val.data);		GVariant *gv = g_variant_new_from_data(G_VARIANT_TYPE_VARIANT, val.data, val.size, TRUE, NULL, NULL);		char *debug = g_variant_print (gv, TRUE);		g_debug ("converted to %s", debug);		g_free (debug);		g_variant_unref(gv);		soup_message_set_status (msg, SOUP_STATUS_OK);	} else {		soup_message_set_status (msg, SOUP_STATUS_NOT_FOUND);	}//	soup_message_set_response (msg, "application/json", SOUP_MEMORY_STATIC,//				   );}
开发者ID:robtaylor,项目名称:tiny-couch,代码行数:27,


示例5: serverCallback

static voidserverCallback(SoupServer *server, SoupMessage *message, const char *path, GHashTable *query, SoupClientContext *context, void *data){    if (message->method != SOUP_METHOD_GET) {        soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    soup_message_set_status(message, SOUP_STATUS_OK);    char *contents;    gsize length;    if (g_str_equal(path, "/favicon.ico")) {        GError *error = NULL;        g_file_get_contents("blank.ico", &contents, &length, &error);        g_assert(!error);    } else {        contents = g_strdup("<html><body>test</body></html>");        length = strlen(contents);    }    soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, contents, length);    soup_message_body_complete(message->response_body);}
开发者ID:EliBing,项目名称:webkit,代码行数:25,


示例6: tunnel_connected_cb

static voidtunnel_connected_cb (GObject      *object,		     GAsyncResult *result,		     gpointer      user_data){	Tunnel *tunnel = user_data;	GError *error = NULL;	tunnel->server.iostream = (GIOStream *)		g_socket_client_connect_to_host_finish (G_SOCKET_CLIENT (object), result, &error);	if (!tunnel->server.iostream) {		soup_message_set_status (tunnel->msg, SOUP_STATUS_BAD_GATEWAY);		soup_message_set_response (tunnel->msg, "text/plain",					   SOUP_MEMORY_COPY,					   error->message, strlen (error->message));		g_error_free (error);		soup_server_unpause_message (tunnel->self, tunnel->msg);		tunnel_close (tunnel);		return;	}	tunnel->server.istream = g_io_stream_get_input_stream (tunnel->server.iostream);	tunnel->server.ostream = g_io_stream_get_output_stream (tunnel->server.iostream);	soup_message_set_status (tunnel->msg, SOUP_STATUS_OK);	soup_server_unpause_message (tunnel->self, tunnel->msg);	g_signal_connect (tunnel->msg, "finished",			  G_CALLBACK (start_tunnel), tunnel);}
开发者ID:Distrotech,项目名称:libsoup,代码行数:29,


示例7: ipv6_server_callback

static voidipv6_server_callback (SoupServer *server, SoupMessage *msg,		      const char *path, GHashTable *query,		      SoupClientContext *context, gpointer data){	const char *host;	char expected_host[128];	host = soup_message_headers_get_one (msg->request_headers, "Host");	if (!host) {		debug_printf (1, "    request has no Host header!/n");		errors++;		soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST);		return;	}	g_snprintf (expected_host, sizeof (expected_host),		    "[::1]:%d", soup_server_get_port (server));	if (strcmp (host, expected_host) == 0)		soup_message_set_status (msg, SOUP_STATUS_OK);	else {		debug_printf (1, "    request has incorrect Host header '%s'/n", host);		errors++;		soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST);	}}
开发者ID:Kharif,项目名称:libsoup,代码行数:27,


示例8: serverHandleStatic

void serverHandleStatic(SoupServer *server,                        SoupMessage *msg,                        const char *path,                        GHashTable *query,                        SoupClientContext *client,                        gpointer user_data){    gchar *current_dir = g_get_current_dir();    gchar full_file_path[256];    sprintf(full_file_path, "%s%s", current_dir, path);    bool ok = false;    //TODO: reject .. in path    int fd = open(full_file_path, O_RDONLY);    if(fd != -1) {        struct stat sstat;        if(fstat(fd, &sstat) != -1) {            size_t len = (size_t)sstat.st_size;            void *addr = mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0);            if(addr != MAP_FAILED) {                const gchar *content_type = getContentType(path);                soup_message_set_response(msg, content_type, SOUP_MEMORY_COPY, addr, len);                soup_message_set_status(msg, 200);                fprintf(stderr, "GET: %s, size is %ld, type is '%s'/n", full_file_path, len, content_type);                ok = true;            }        }        close(fd);    }    if(!ok) {        soup_message_set_status(msg, 404);        fprintf(stderr, "ERROR: %s/n", full_file_path);    }}
开发者ID:NoiseEHC,项目名称:sugar-webkit-native,代码行数:33,


示例9: server_callback

/* For real request testing */static voidserver_callback(SoupServer* server, SoupMessage* msg,                 const char* path, GHashTable* query,                 SoupClientContext* context, gpointer data){    if (msg->method != SOUP_METHOD_GET) {        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    soup_message_set_status(msg, SOUP_STATUS_OK);    if (g_str_equal(path, "/favicon.ico")) {        char* contents;        gsize length;        GError* error = NULL;        g_file_get_contents("blank.ico", &contents, &length, &error);        g_assert(!error);        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);    } else if (g_str_equal(path, "/bigdiv.html")) {        char* contents = g_strdup("<html><body><div style=/"background-color: green; height: 1200px;/"></div></body></html>");        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));    } else if (g_str_equal(path, "/iframe.html")) {        char* contents = g_strdup("<html><body><div style=/"background-color: green; height: 50px;/"></div><iframe src=/"bigdiv.html/"></iframe></body></html>");        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));    } else {        char* contents = g_strdup("<html><body>test</body></html>");        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));    }    soup_message_body_complete(msg->response_body);}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:35,


示例10: httpServerCallback

static void httpServerCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer){    if (message->method != SOUP_METHOD_GET) {        soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    if (g_str_equal(path, "/test-script")) {        GOwnPtr<char> pathToFile(g_build_filename(Test::getResourcesDir().data(), "link-title.js", NULL));        char* contents;        gsize length;        g_file_get_contents(pathToFile.get(), &contents, &length, 0);        soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, contents, length);        soup_message_set_status(message, SOUP_STATUS_OK);        soup_message_body_complete(message->response_body);    } else if (g_str_equal(path, "/test-image")) {        GOwnPtr<char> pathToFile(g_build_filename(Test::getWebKit1TestResoucesDir().data(), "blank.ico", NULL));        char* contents;        gsize length;        g_file_get_contents(pathToFile.get(), &contents, &length, 0);        soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, contents, length);        soup_message_set_status(message, SOUP_STATUS_OK);        soup_message_body_complete(message->response_body);    } else        soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);}
开发者ID:jiezh,项目名称:h5vcc,代码行数:28,


示例11: server_callback

/* For real request testing */static voidserver_callback(SoupServer* server, SoupMessage* msg,                const char* path, GHashTable* query,                SoupClientContext* context, gpointer data){    if (msg->method != SOUP_METHOD_GET) {        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    soup_message_set_status(msg, SOUP_STATUS_OK);    if (g_str_equal(path, "/test_loading_status") || g_str_equal(path, "/test_loading_status2"))        soup_message_body_append(msg->response_body, SOUP_MEMORY_STATIC, HTML_STRING, strlen(HTML_STRING));    else if (g_str_equal(path, "/test_load_error")) {        soup_message_set_status(msg, SOUP_STATUS_CANT_CONNECT);    } else if (g_str_equal(path, "/test_loading_cancelled")) {        soup_message_headers_set_encoding(msg->response_headers, SOUP_ENCODING_CHUNKED);        soup_message_body_append(msg->response_body, SOUP_MEMORY_STATIC, HTML_STRING, strlen(HTML_STRING));        soup_server_unpause_message(server, msg);        return;    }    soup_message_body_complete(msg->response_body);}
开发者ID:CannedFish,项目名称:webkitgtk,代码行数:26,


示例12: databases_items_xxx

static voiddatabases_items_xxx (DMAPShare * share,		     SoupServer * server,		     SoupMessage * msg,		     const char *path,		     GHashTable * query, SoupClientContext * context){	DMAPDb *db;	const gchar *transcode_mimetype;	const gchar *rest_of_path;	const gchar *id_str;	guint id;	const gchar *range_header;	guint64 filesize;	guint64 offset = 0;	DAAPRecord *record;	rest_of_path = strchr (path + 1, '/');	id_str = rest_of_path + 9;	id = strtoul (id_str, NULL, 10);	g_object_get (share, "db", &db, NULL);	record = DAAP_RECORD (dmap_db_lookup_by_id (db, id));	g_object_get (record, "filesize", &filesize, NULL);	DMAP_SHARE_GET_CLASS (share)->message_add_standard_headers		(share, msg);	soup_message_headers_append (msg->response_headers, "Accept-Ranges",				     "bytes");	range_header =		soup_message_headers_get_one (msg->request_headers, "Range");	if (range_header) {		const gchar *s;		gchar *content_range;		s = range_header + 6;	/* bytes= */		offset = atoll (s);		content_range =			g_strdup_printf ("bytes %" G_GUINT64_FORMAT "-%"					 G_GUINT64_FORMAT "/%"					 G_GUINT64_FORMAT, offset, filesize,					 filesize);		soup_message_headers_append (msg->response_headers,					     "Content-Range", content_range);		g_debug ("Content range is %s.", content_range);		g_free (content_range);		soup_message_set_status (msg, SOUP_STATUS_PARTIAL_CONTENT);	} else {		soup_message_set_status (msg, SOUP_STATUS_OK);	}	g_object_get (share, "transcode-mimetype", &transcode_mimetype, NULL);	send_chunked_file (server, msg, record, filesize, offset,			   transcode_mimetype);	g_object_unref (record);}
开发者ID:KOLYaNYChCh,项目名称:libdmapsharing,代码行数:58,


示例13: snra_server_client_new

SnraServerClient *snra_server_client_new (SoupServer * soup, SoupMessage * msg,                        SoupClientContext * context){    SnraServerClient *client = g_object_new (SNRA_TYPE_SERVER_CLIENT, NULL);    const gchar *accept_challenge;    gchar *accept_reply;    client->soup = soup;    client->event_pipe = msg;    client->host = g_strdup (soup_client_context_get_host (context));    client->net_event_sig = g_signal_connect (msg, "network-event",                            G_CALLBACK (snra_server_client_network_event), client);    client->disco_sig = g_signal_connect (msg, "finished",                                          G_CALLBACK (snra_server_client_disconnect), client);    if (!is_websocket_client (client)) {        client->type = SNRA_SERVER_CLIENT_CHUNKED;        client->need_body_complete = TRUE;        soup_message_headers_set_encoding (msg->response_headers,                                           SOUP_ENCODING_CHUNKED);        soup_message_set_status (msg, SOUP_STATUS_OK);        return client;    }    /* Otherwise, it's a websocket client */    client->type = SNRA_SERVER_CLIENT_WEBSOCKET;    client->need_body_complete = FALSE;    client->socket = soup_client_context_get_socket (context);    client->in_bufptr = client->in_buf = g_new0 (gchar, 1024);    client->in_bufsize = 1024;    client->in_bufavail = 0;    accept_challenge =        soup_message_headers_get_one (msg->request_headers, "Sec-WebSocket-Key");    accept_reply = calc_websocket_challenge_reply (accept_challenge);    soup_message_headers_set_encoding (msg->response_headers, SOUP_ENCODING_EOF);    soup_message_set_status (msg, SOUP_STATUS_SWITCHING_PROTOCOLS);    soup_message_headers_replace (msg->response_headers, "Upgrade", "websocket");    soup_message_headers_replace (msg->response_headers, "Connection", "Upgrade");    soup_message_headers_replace (msg->response_headers, "Sec-WebSocket-Accept",                                  accept_reply);    soup_message_headers_replace (msg->response_headers, "Sec-WebSocket-Protocol",                                  "aurena");    g_free (accept_reply);    client->wrote_info_sig = g_signal_connect (msg, "wrote-informational",                             G_CALLBACK (snra_server_client_wrote_headers), client);    return client;}
开发者ID:elisescu,项目名称:aurena,代码行数:57,


示例14: process_image_callback

static voidprocess_image_callback (SoupServer *server, SoupMessage *msg,		 const char *path, GHashTable *query,		 SoupClientContext *context, gpointer user_data) {    UiConnection *self = (UiConnection *)user_data;    // Lookup network    Network *network = NULL;    {        const gchar *graph_id = g_hash_table_lookup(query, "graph");        network = (graph_id) ? g_hash_table_lookup(self->network_map, graph_id) : NULL;    }    if (!network) {        soup_message_set_status_full(msg, SOUP_STATUS_BAD_REQUEST, "'graph' not specified or wrong");        return;    }    // Lookup node    Processor *processor = NULL;    {        const gchar *node_id = g_hash_table_lookup(query, "node");        processor = (node_id) ? network_processor(network, node_id) : NULL;    }    if (!processor) {        soup_message_set_status_full(msg, SOUP_STATUS_BAD_REQUEST, "'node' not specified or wrong");        return;    }    // Render output    // FIXME: allow region-of-interest and scale as query params    gchar *rgba = NULL;    GeglRectangle roi;    const gboolean success = processor_blit(processor, babl_format("R'G'B'A u8"), &roi, &rgba);    if (!success) {        soup_message_set_status(msg, SOUP_STATUS_BAD_REQUEST);        g_free(rgba);        return;    }    if (!(roi.width > 0 && roi.height > 0)) {        soup_message_set_status(msg, SOUP_STATUS_BAD_REQUEST);        g_free(rgba);        return;    }    // Compress to PNG    {        PngEncoder *encoder = png_encoder_new();        png_encoder_encode_rgba(encoder, roi.width, roi.height, rgba);        char *png = encoder->buffer;        const size_t len = encoder->size;        soup_message_set_status(msg, SOUP_STATUS_OK);        soup_message_set_response(msg, "image/png", SOUP_MEMORY_COPY, png, len);        png_encoder_free(encoder);    }}
开发者ID:automata,项目名称:imgflo,代码行数:56,


示例15: prv_soup_server_cb

static void prv_soup_server_cb(SoupServer *server, SoupMessage *msg,			       const char *path, GHashTable *query,			       SoupClientContext *client, gpointer user_data){	rsu_host_file_t *hf;	rsu_host_server_t *hs = user_data;	const gchar *file_name;	SoupMessageHeaders *hdrs;	if (msg->method != SOUP_METHOD_GET) {		soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);		goto on_error;	}	hf = prv_host_server_find_file(hs, path, &file_name);	if (!hf) {		soup_message_set_status(msg, SOUP_STATUS_NOT_FOUND);		goto on_error;	}	if (hf->mapped_file) {		g_mapped_file_ref(hf->mapped_file);		++hf->mapped_count;	} else {		hf->mapped_file = g_mapped_file_new(file_name, FALSE, NULL);		if (!hf->mapped_file) {			soup_message_set_status(msg, SOUP_STATUS_NOT_FOUND);			goto on_error;		}		hf->mapped_count = 1;	}	g_signal_connect(msg, "finished",			 G_CALLBACK(prv_soup_message_finished_cb), hf);	g_object_get(msg, "response-headers", &hdrs, NULL);	/* TODO: Need to add the relevant DLNA headers *//*	soup_message_headers_append(hdrs, "contentFeatures.dlna.org",				    "DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=01;"DLNA.ORG_FLAGS=00f00000000000000000000000000000");	soup_message_headers_append(hdrs, "Connection", "close");*/	soup_message_set_status(msg, SOUP_STATUS_OK);	soup_message_set_response(msg, hf->mime_type, SOUP_MEMORY_STATIC,				  g_mapped_file_get_contents(hf->mapped_file),				  g_mapped_file_get_length(hf->mapped_file));on_error:	return;}
开发者ID:markdryan,项目名称:renderer-service-upnp,代码行数:55,


示例16: server_callback

/* For real request testing */static voidserver_callback(SoupServer *server, SoupMessage *msg,                 const char *path, GHashTable *query,                 SoupClientContext *context, gpointer data){    if (msg->method != SOUP_METHOD_GET) {        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    soup_message_set_status(msg, SOUP_STATUS_OK);    /* PDF */    if (g_str_equal(path, "/pdf")) {        char* contents;        gsize length;        GError* error = NULL;        g_file_get_contents("test.pdf", &contents, &length, &error);        g_assert(!error);        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);    } else if (g_str_equal(path, "/html")) {        char* contents;        gsize length;        GError* error = NULL;        g_file_get_contents("test.html", &contents, &length, &error);        g_assert(!error);        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);    } else if (g_str_equal(path, "/text")) {        char* contents;        gsize length;        GError* error = NULL;        soup_message_headers_append(msg->response_headers, "Content-Disposition", "attachment; filename=test.txt");        g_file_get_contents("test.txt", &contents, &length, &error);        g_assert(!error);        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);    } else if (g_str_equal(path, "/ogg")) {        char* contents;        gsize length;        GError* error = NULL;        g_file_get_contents("test.ogg", &contents, &length, &error);        g_assert(!error);        soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);    }    soup_message_body_complete(msg->response_body);}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:56,


示例17: tunnel_message_completed

static voidtunnel_message_completed (SoupMessage *msg, gpointer user_data){	SoupMessageQueueItem *item = user_data;	SoupSession *session = item->session;	if (item->state == SOUP_MESSAGE_RESTARTING) {		soup_message_restarted (msg);		if (item->conn) {			soup_session_send_queue_item (session, item, tunnel_message_completed);			return;		}		soup_message_set_status (msg, SOUP_STATUS_TRY_AGAIN);	}	item->state = SOUP_MESSAGE_FINISHED;	if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {		if (item->conn)			soup_connection_disconnect (item->conn);		if (msg->status_code == SOUP_STATUS_TRY_AGAIN) {			item->related->state = SOUP_MESSAGE_AWAITING_CONNECTION;			g_object_unref (item->related->conn);			item->related->conn = NULL;		} else			soup_message_set_status (item->related->msg, msg->status_code);		goto done;	}	if (!soup_connection_start_ssl (item->conn)) {		if (item->conn)			soup_connection_disconnect (item->conn);		soup_message_set_status (item->related->msg, SOUP_STATUS_SSL_FAILED);		goto done;	}	g_signal_connect (item->conn, "disconnected",			  G_CALLBACK (connection_closed), item->session);	soup_connection_set_state (item->conn, SOUP_CONNECTION_IDLE);	soup_connection_set_state (item->conn, SOUP_CONNECTION_IN_USE);	item->related->state = SOUP_MESSAGE_READY;done:	soup_message_finished (msg);	if (item->related->msg->status_code)		item->related->state = SOUP_MESSAGE_FINISHING;	do_idle_run_queue (item->session);	soup_message_queue_item_unref (item->related);	soup_session_unqueue_item (session, item);	soup_message_queue_item_unref (item);	g_object_unref (session);}
开发者ID:BabaNina,项目名称:libsoup,代码行数:55,


示例18: soup_rpc_callback

static voidsoup_rpc_callback (SoupServerContext *context, SoupMessage *msg, gpointer data){    xmlrpc_env env;    xmlrpc_mem_block *output;    const char *username;    RCDIdentity *identity = NULL;    RCDRPCMethodData *method_data;    xmlrpc_env_init (&env);    method_data = g_new0 (RCDRPCMethodData, 1);    /* Get the username from the auth context and get its identity */    username = soup_server_auth_get_user (context->auth);    if (strcmp (username, rcd_prefs_get_mid ()) == 0) {        identity = rcd_identity_new ();        identity->username = g_strdup ("server");        identity->privileges = rcd_privileges_from_string ("superuser");    }    else        identity = rcd_identity_lookup (username);    g_assert (identity != NULL);    method_data->host = soup_server_context_get_client_host (context);    method_data->identity = identity;    output = process_rpc_call (        &env, msg->request.body, msg->request.length, method_data);    rcd_identity_free (method_data->identity);    g_free (method_data);    soup_message_add_header (msg->response_headers,                             "Server", "Red Carpet Daemon/"VERSION);    if (env.fault_occurred) {        soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST);        return;    }    /* Let Soup free the data for us */    msg->response.owner = SOUP_BUFFER_SYSTEM_OWNED;    msg->response.length = XMLRPC_TYPED_MEM_BLOCK_SIZE(char, output);    msg->response.body = g_memdup(        XMLRPC_TYPED_MEM_BLOCK_CONTENTS(char, output), msg->response.length);    soup_message_set_status (msg, SOUP_STATUS_OK);    xmlrpc_mem_block_free(output);} /* soup_rpc_callback */
开发者ID:joeshaw,项目名称:rcd,代码行数:53,


示例19: serverHandleJournal

void serverHandleJournal(SoupServer *server,                         SoupMessage *msg,                         const char *path,                         GHashTable *query,                         SoupClientContext *client,                         gpointer user_data){    bool ok = false;    if(strcmp(path, "/journal/journal.html") == 0) {        GDBusProxy *journal = g_dbus_proxy_new_for_bus_sync(            G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, NULL,            "org.laptop.sugar.DataStore",            "/org/laptop/sugar/DataStore",            "org.laptop.sugar.DataStore",            NULL, NULL);        GVariant *params = g_variant_new("(a{sv}as)", NULL, NULL);        GError *error = NULL;        GVariant *result = g_dbus_proxy_call_sync(            journal, "find", params, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);        if(error != NULL) {fprintf(stderr, "error: %d, %d, %s/n", error->domain, error->code, error->message);}        if(result != NULL) {            soup_message_headers_replace(msg->response_headers, "Content-Type", "text/html");            append(msg, "<html><body>");            GVariant *results = NULL;            guint32 count = -1;            g_variant_get(result, "(@aa{sv}u)", &results, &count);            GVariant *dictionary = NULL;            GVariantIter results_iter;            g_variant_iter_init(&results_iter, results);            while (g_variant_iter_loop(&results_iter, "@a{sv}", &dictionary)) {                append(msg, "<p><a href='");                append(msg, lookup(dictionary, "uid", "invalid object id"));                append(msg, "'>");                append(msg, lookup(dictionary, "title", "invalid title"));                append(msg, "</a></p>");            }            append(msg, "</body></html>");            soup_message_set_status(msg, 200);            fprintf(stderr, "GET: %s/n", path);            ok = true;        }        }    if(!ok) {        soup_message_set_status(msg, 404);        fprintf(stderr, "ERROR: %s/n", path);    }}
开发者ID:NoiseEHC,项目名称:sugar-webkit-native,代码行数:52,


示例20: gss_program_jpeg_resource

static voidgss_program_jpeg_resource (GssTransaction * t){  GssProgram *program = (GssProgram *) t->resource->priv;#if GST_CHECK_VERSION(1,0,0)  GstSample *sample = NULL;#endif  GstBuffer *buffer = NULL;  if (!program->enable_streaming || program->state != GSS_PROGRAM_STATE_RUNNING) {    soup_message_set_status (t->msg, SOUP_STATUS_NO_CONTENT);    return;  }#if GST_CHECK_VERSION(1,0,0)  if (program->jpegsink) {    g_object_get (program->jpegsink, "last-sample", &sample, NULL);  }  if (sample) {    GstMapInfo mapinfo;    buffer = gst_sample_get_buffer (sample);    if (buffer) {      soup_message_set_status (t->msg, SOUP_STATUS_OK);      gst_buffer_map (buffer, &mapinfo, GST_MAP_READ);      soup_message_set_response (t->msg, "image/jpeg", SOUP_MEMORY_COPY,          (char *) mapinfo.data, mapinfo.size);      gst_buffer_unmap (buffer, &mapinfo);    }    gst_sample_unref (sample);    return;  }#else  if (program->jpegsink) {    g_object_get (program->jpegsink, "last-buffer", &buffer, NULL);  }  if (buffer) {    soup_message_set_status (t->msg, SOUP_STATUS_OK);    soup_message_set_response (t->msg, "image/jpeg", SOUP_MEMORY_COPY,        (char *) GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer));    gst_buffer_unref (buffer);    return;  }#endif  gss_html_error_404 (t->server, t->msg);}
开发者ID:freedesktop-unofficial-mirror,项目名称:gstreamer__gst-streaming-server,代码行数:51,


示例21: server_callback

static voidserver_callback (SoupServer *server, SoupMessage *msg,		 const char *path, GHashTable *query,		 SoupClientContext *context, gpointer data){	const char *accept_encoding, *junk;	GSList *codings;	char *file = NULL, *contents;	gsize length;	accept_encoding = soup_message_headers_get_list (msg->request_headers,							 "Accept-Encoding");	if (accept_encoding)		codings = soup_header_parse_quality_list (accept_encoding, NULL);	else		codings = NULL;	if (codings && g_slist_find_custom (codings, "gzip", (GCompareFunc)g_ascii_strcasecmp)) {		file = g_strdup_printf (SRCDIR "/resources%s.gz", path);		if (g_file_test (file, G_FILE_TEST_EXISTS)) {			soup_message_headers_append (msg->response_headers,						     "Content-Encoding",						     "gzip");		} else {			g_free (file);			file = NULL;		}	}	if (!file)		file = g_strdup_printf (SRCDIR "/resources%s", path);	if (!g_file_get_contents (file, &contents, &length, NULL)) {		/* If path.gz exists but can't be read, we'll send back		 * the error with "Content-Encoding: gzip" but there's		 * no body, so, eh.		 */		soup_message_set_status (msg, SOUP_STATUS_NOT_FOUND);		return;	}	soup_message_set_status (msg, SOUP_STATUS_OK);	soup_message_body_append (msg->response_body,				  SOUP_MEMORY_TAKE, contents, length);	junk = soup_message_headers_get_one (msg->request_headers,					     "X-Trailing-Junk");	if (junk) {		soup_message_body_append (msg->response_body, SOUP_MEMORY_COPY,					  junk, strlen (junk));	}}
开发者ID:ChingezKhan,项目名称:libsoup,代码行数:51,


示例22: serverCallback

static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer){    if (message->method != SOUP_METHOD_GET) {        soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    if (g_str_equal(path, "/")) {        const char* acceptLanguage = soup_message_headers_get_one(message->request_headers, "Accept-Language");        soup_message_set_status(message, SOUP_STATUS_OK);        soup_message_body_append(message->response_body, SOUP_MEMORY_COPY, acceptLanguage, strlen(acceptLanguage));        soup_message_body_complete(message->response_body);    } else        soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);}
开发者ID:MYSHLIFE,项目名称:webkit,代码行数:15,


示例23: server_callback

static voidserver_callback (SoupServer *server, SoupMessage *msg,		 const char *path, GHashTable *query,		 SoupClientContext *context, gpointer data){	if (msg->method != SOUP_METHOD_GET && msg->method != SOUP_METHOD_HEAD) {		soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED);		return;	}	soup_message_set_response (msg, "text/plain",				   SOUP_MEMORY_STATIC,				   "OK/r/n", 4);	soup_message_set_status (msg, SOUP_STATUS_OK);}
开发者ID:BabaNina,项目名称:libsoup,代码行数:15,


示例24: serverCallback

static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer){    if (message->method != SOUP_METHOD_GET) {        soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);        return;    }    if (g_str_equal(path, "/")) {        static const char* responseString = "<html><body>Testing!</body></html>";        soup_message_set_status(message, SOUP_STATUS_OK);        soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, responseString, strlen(responseString));        soup_message_body_complete(message->response_body);    } else        soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);}
开发者ID:SchleunigerAG,项目名称:WinEC7_Qt5.3.1_Fixes,代码行数:15,


示例25: dacp_share_login

voiddacp_share_login (DMAPShare * share,		  SoupServer * server,		  SoupMessage * message,		  const char *path,		  GHashTable * query, SoupClientContext * context){	gchar *pairing_guid;	g_debug ("(DACP) Path is %s.", path);	if (query) {		g_hash_table_foreach (query, debug_param, NULL);	}	pairing_guid = g_hash_table_lookup (query, "pairing-guid");	if (pairing_guid != NULL) {		gboolean allow_login;		g_signal_emit (share, signals[LOOKUP_GUID], 0, pairing_guid,			       &allow_login);		if (!allow_login) {			g_debug ("Unknown remote trying to connect");			soup_message_set_status (message,						 SOUP_STATUS_FORBIDDEN);			return;		}	}	_dmap_share_login (share, server, message, path, query, context);}
开发者ID:ChiterGnom,项目名称:libdmapsharing,代码行数:32,



注:本文中的soup_message_set_status函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ soup_session_add_feature函数代码示例
C++ soup_message_new_from_uri函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。