summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
index 2c59cd868..e2ff04d19 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
@@ -48,6 +48,7 @@ using namespace WebCore;
struct _WebKitURIRequestPrivate {
WebCore::ResourceRequest resourceRequest;
CString uri;
+ const char* httpMethod;
GUniquePtr<SoupMessageHeaders> httpHeaders;
};
@@ -171,6 +172,32 @@ SoupMessageHeaders* webkit_uri_request_get_http_headers(WebKitURIRequest* reques
return request->priv->httpHeaders.get();
}
+/**
+ * webkit_uri_request_get_http_method:
+ * @request: a #WebKitURIRequest
+ *
+ * Get the HTTP method of the #WebKitURIRequest.
+ *
+ * Returns: the HTTP method of the #WebKitURIRequest or %NULL if @request is not
+ * an HTTP request.
+ *
+ * Since: 2.12
+ */
+const gchar* webkit_uri_request_get_http_method(WebKitURIRequest* request)
+{
+ g_return_val_if_fail(WEBKIT_IS_URI_REQUEST(request), nullptr);
+
+ if (!request->priv->resourceRequest.url().protocolIsInHTTPFamily())
+ return nullptr;
+
+ if (request->priv->resourceRequest.httpMethod().isEmpty())
+ return nullptr;
+
+ if (!request->priv->httpMethod)
+ request->priv->httpMethod = g_intern_string(request->priv->resourceRequest.httpMethod().utf8().data());
+ return request->priv->httpMethod;
+}
+
WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const ResourceRequest& resourceRequest)
{
WebKitURIRequest* uriRequest = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));