1 module webkit2webextension.URIRequest;
2 
3 private import glib.ConstructionException;
4 private import glib.Str;
5 private import gobject.ObjectG;
6 private import soup.MessageHeaders;
7 private import webkit2webextension.c.functions;
8 public  import webkit2webextension.c.types;
9 
10 
11 /**
12  * A #WebKitURIRequest can be created with a URI using the
13  * webkit_uri_request_new() method, and you can get the URI of an
14  * existing request with the webkit_uri_request_get_uri() one.
15  */
16 public class URIRequest : ObjectG
17 {
18 	/** the main Gtk struct */
19 	protected WebKitURIRequest* webKitURIRequest;
20 
21 	/** Get the main Gtk struct */
22 	public WebKitURIRequest* getURIRequestStruct(bool transferOwnership = false)
23 	{
24 		if (transferOwnership)
25 			ownedRef = false;
26 		return webKitURIRequest;
27 	}
28 
29 	/** the main Gtk struct as a void* */
30 	protected override void* getStruct()
31 	{
32 		return cast(void*)webKitURIRequest;
33 	}
34 
35 	/**
36 	 * Sets our main struct and passes it to the parent class.
37 	 */
38 	public this (WebKitURIRequest* webKitURIRequest, bool ownedRef = false)
39 	{
40 		this.webKitURIRequest = webKitURIRequest;
41 		super(cast(GObject*)webKitURIRequest, ownedRef);
42 	}
43 
44 
45 	/** */
46 	public static GType getType()
47 	{
48 		return webkit_uri_request_get_type();
49 	}
50 
51 	/**
52 	 * Creates a new #WebKitURIRequest for the given URI.
53 	 *
54 	 * Params:
55 	 *     uri = an URI
56 	 *
57 	 * Returns: a new #WebKitURIRequest
58 	 *
59 	 * Throws: ConstructionException GTK+ fails to create the object.
60 	 */
61 	public this(string uri)
62 	{
63 		auto __p = webkit_uri_request_new(Str.toStringz(uri));
64 
65 		if(__p is null)
66 		{
67 			throw new ConstructionException("null returned by new");
68 		}
69 
70 		this(cast(WebKitURIRequest*) __p, true);
71 	}
72 
73 	/**
74 	 * Get the HTTP headers of a #WebKitURIRequest as a #SoupMessageHeaders.
75 	 *
76 	 * Returns: a #SoupMessageHeaders with the HTTP headers of @request
77 	 *     or %NULL if @request is not an HTTP request.
78 	 */
79 	public MessageHeaders getHttpHeaders()
80 	{
81 		auto __p = webkit_uri_request_get_http_headers(webKitURIRequest);
82 
83 		if(__p is null)
84 		{
85 			return null;
86 		}
87 
88 		return ObjectG.getDObject!(MessageHeaders)(cast(SoupMessageHeaders*) __p);
89 	}
90 
91 	/**
92 	 * Get the HTTP method of the #WebKitURIRequest.
93 	 *
94 	 * Returns: the HTTP method of the #WebKitURIRequest or %NULL if @request is not
95 	 *     an HTTP request.
96 	 *
97 	 * Since: 2.12
98 	 */
99 	public string getHttpMethod()
100 	{
101 		return Str.toString(webkit_uri_request_get_http_method(webKitURIRequest));
102 	}
103 
104 	/**
105 	 * Returns: the uri of the #WebKitURIRequest
106 	 */
107 	public string getUri()
108 	{
109 		return Str.toString(webkit_uri_request_get_uri(webKitURIRequest));
110 	}
111 
112 	/**
113 	 * Set the URI of @request
114 	 *
115 	 * Params:
116 	 *     uri = an URI
117 	 */
118 	public void setUri(string uri)
119 	{
120 		webkit_uri_request_set_uri(webKitURIRequest, Str.toStringz(uri));
121 	}
122 }