summaryrefslogtreecommitdiff
path: root/libsoup/soup-method.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2008-01-15 17:40:47 +0000
committerDan Winship <danw@src.gnome.org>2008-01-15 17:40:47 +0000
commit96d28e7f42ead1ddde6bccca9fba6831710a531f (patch)
tree8b3fd4ae679d19656aef6264cfcf260e515a8eec /libsoup/soup-method.h
parent3f957a48574e9ac8eba06cf91fb2f101ffcf982d (diff)
downloadlibsoup-96d28e7f42ead1ddde6bccca9fba6831710a531f.tar.gz
Merge libsoup-2.4 branch to trunk
* Merge libsoup-2.4 branch to trunk svn path=/trunk/; revision=1041
Diffstat (limited to 'libsoup/soup-method.h')
-rw-r--r--libsoup/soup-method.h79
1 files changed, 39 insertions, 40 deletions
diff --git a/libsoup/soup-method.h b/libsoup/soup-method.h
index 4ef69bf5..861f7ef1 100644
--- a/libsoup/soup-method.h
+++ b/libsoup/soup-method.h
@@ -6,48 +6,47 @@
#ifndef SOUP_METHOD_H
#define SOUP_METHOD_H 1
-#include <glib/gmacros.h>
-
G_BEGIN_DECLS
-#define SOUP_METHOD_POST "POST"
-#define SOUP_METHOD_GET "GET"
-#define SOUP_METHOD_HEAD "HEAD"
-#define SOUP_METHOD_OPTIONS "OPTIONS"
-#define SOUP_METHOD_PUT "PUT"
-#define SOUP_METHOD_MOVE "MOVE"
-#define SOUP_METHOD_COPY "COPY"
-#define SOUP_METHOD_DELETE "DELETE"
-#define SOUP_METHOD_TRACE "TRACE"
-#define SOUP_METHOD_CONNECT "CONNECT"
-#define SOUP_METHOD_MKCOL "MKCOL"
-#define SOUP_METHOD_PROPPATCH "PROPPATCH"
-#define SOUP_METHOD_PROPFIND "PROPFIND"
-#define SOUP_METHOD_PATCH "PATCH"
-#define SOUP_METHOD_LOCK "LOCK"
-#define SOUP_METHOD_UNLOCK "UNLOCK"
-
-typedef enum {
- SOUP_METHOD_ID_UNKNOWN = 0,
- SOUP_METHOD_ID_POST,
- SOUP_METHOD_ID_GET,
- SOUP_METHOD_ID_HEAD,
- SOUP_METHOD_ID_OPTIONS,
- SOUP_METHOD_ID_PUT,
- SOUP_METHOD_ID_MOVE,
- SOUP_METHOD_ID_COPY,
- SOUP_METHOD_ID_DELETE,
- SOUP_METHOD_ID_TRACE,
- SOUP_METHOD_ID_CONNECT,
- SOUP_METHOD_ID_MKCOL,
- SOUP_METHOD_ID_PROPPATCH,
- SOUP_METHOD_ID_PROPFIND,
- SOUP_METHOD_ID_PATCH,
- SOUP_METHOD_ID_LOCK,
- SOUP_METHOD_ID_UNLOCK
-} SoupMethodId;
-
-SoupMethodId soup_method_get_id (const char *method);
+/**
+ * SECTION:soup-method
+ * @short_description: HTTP method definitions
+ *
+ * soup-method.h contains a number of defines for standard HTTP and
+ * WebDAV headers. You do not need to use these defines; you can pass
+ * arbitrary strings to soup_message_new() if you prefer.
+ *
+ * The thing that these defines <emphasis>are</emphasis> useful for is
+ * performing quick comparisons against #SoupMessage's %method field;
+ * because that field always contains an interned string, and these
+ * macros return interned strings, you can compare %method directly
+ * against these macros rather than needing to use strcmp(). This is
+ * most useful in SoupServer handlers. Eg:
+ *
+ * <informalexample><programlisting>
+ * if (msg->method != SOUP_METHOD_GET &amp;&amp; msg->method != SOUP_METHOD_HEAD) {
+ * soup_message_set_status (msg, SOUP_METHOD_NOT_IMPLEMENTED);
+ * return;
+ * }
+ * </programlisting></informalexample>
+ **/
+
+#define SOUP_METHOD_POST (g_intern_static_string ("POST"))
+#define SOUP_METHOD_GET (g_intern_static_string ("GET"))
+#define SOUP_METHOD_HEAD (g_intern_static_string ("HEAD"))
+#define SOUP_METHOD_OPTIONS (g_intern_static_string ("OPTIONS"))
+#define SOUP_METHOD_PUT (g_intern_static_string ("PUT"))
+#define SOUP_METHOD_MOVE (g_intern_static_string ("MOVE"))
+#define SOUP_METHOD_COPY (g_intern_static_string ("COPY"))
+#define SOUP_METHOD_DELETE (g_intern_static_string ("DELETE"))
+#define SOUP_METHOD_TRACE (g_intern_static_string ("TRACE"))
+#define SOUP_METHOD_CONNECT (g_intern_static_string ("CONNECT"))
+#define SOUP_METHOD_MKCOL (g_intern_static_string ("MKCOL"))
+#define SOUP_METHOD_PROPPATCH (g_intern_static_string ("PROPPATCH"))
+#define SOUP_METHOD_PROPFIND (g_intern_static_string ("PROPFIND"))
+#define SOUP_METHOD_PATCH (g_intern_static_string ("PATCH"))
+#define SOUP_METHOD_LOCK (g_intern_static_string ("LOCK"))
+#define SOUP_METHOD_UNLOCK (g_intern_static_string ("UNLOCK"))
G_END_DECLS