summaryrefslogtreecommitdiff
path: root/tests/proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/proxy.c')
-rw-r--r--tests/proxy.c63
1 files changed, 60 insertions, 3 deletions
diff --git a/tests/proxy.c b/tests/proxy.c
index 89a9325..652c600 100644
--- a/tests/proxy.c
+++ b/tests/proxy.c
@@ -49,20 +49,35 @@ SoupServer *server;
GMainLoop *server_loop;
static void
+#ifdef WITH_SOUP_2
server_callback (SoupServer *server, SoupMessage *msg,
const char *path, GHashTable *query,
SoupClientContext *client, gpointer user_data)
+#else
+server_callback (SoupServer *server, SoupServerMessage *msg,
+ const char *path, GHashTable *query, gpointer user_data)
+#endif
{
if (g_str_equal (path, "/ping")) {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_OK);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
+#endif
}
else if (g_str_equal (path, "/echo")) {
const char *value;
value = g_hash_table_lookup (query, "value");
+#ifdef WITH_SOUP_2
soup_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY,
value, strlen (value));
soup_message_set_status (msg, SOUP_STATUS_OK);
+#else
+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY,
+ value, strlen (value));
+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
+#endif
}
else if (g_str_equal (path, "/reverse")) {
char *value;
@@ -70,9 +85,15 @@ server_callback (SoupServer *server, SoupMessage *msg,
value = g_strdup (g_hash_table_lookup (query, "value"));
g_strreverse (value);
+#ifdef WITH_SOUP_2
soup_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE,
value, strlen (value));
soup_message_set_status (msg, SOUP_STATUS_OK);
+#else
+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE,
+ value, strlen (value));
+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
+#endif
}
else if (g_str_equal (path, "/status")) {
const char *value;
@@ -81,25 +102,61 @@ server_callback (SoupServer *server, SoupMessage *msg,
value = g_hash_table_lookup (query, "status");
if (value) {
status = atoi (value);
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR);
+#else
+ soup_server_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL);
+#endif
} else {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL);
+#endif
}
}
else if (g_str_equal (path, "/useragent/none")) {
- if (soup_message_headers_get (msg->request_headers, "User-Agent") == NULL) {
+#ifdef WITH_SOUP_2
+ SoupMessageHeaders *request_headers = msg->request_headers;
+#else
+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg);
+#endif
+
+ if (soup_message_headers_get (request_headers, "User-Agent") == NULL) {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_OK);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
+#endif
} else {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL);
+#endif
}
}
else if (g_str_equal (path, "/useragent/testsuite")) {
+#ifdef WITH_SOUP_2
+ SoupMessageHeaders *request_headers = msg->request_headers;
+#else
+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg);
+#endif
const char *value;
- value = soup_message_headers_get (msg->request_headers, "User-Agent");
+ value = soup_message_headers_get (request_headers, "User-Agent");
if (g_strcmp0 (value, "TestSuite-1.0") == 0) {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_OK);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
+#endif
} else {
+#ifdef WITH_SOUP_2
soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED);
+#else
+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL);
+#endif
+
}
}
}
@@ -325,7 +382,7 @@ main (int argc, char **argv)
char *url;
RestProxy *proxy;
- server = soup_server_new ("", NULL);
+ server = soup_server_new (NULL);
g_thread_new ("Server Thread", server_thread_func, NULL);
url = g_strdup_printf ("http://127.0.0.1:%d/", PORT);