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 }