1 module libwasm.bindings.Response;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Blob;
7 import libwasm.bindings.Fetch;
8 import libwasm.bindings.FormData;
9 import libwasm.bindings.Headers;
10 
11 @safe:
12 nothrow:
13 
14 struct Response {
15   nothrow:
16   JsHandle handle;
17   alias handle this;
18   this(Handle h) {
19     this.handle = JsHandle(h);
20   }
21   auto error()() {
22     return Response(Object_Getter__Handle(this.handle, "error"));
23   }
24   auto redirect()(string url, ushort status /* = 302 */) {
25     return Response(Serialize_Object_VarArgCall!Handle(this.handle, "redirect", "string;ushort", tuple(url, status)));
26   }
27   auto redirect()(string url) {
28     return Response(Object_Call_string__Handle(this.handle, "redirect", url));
29   }
30   ResponseType type()() {
31     return Object_Getter__int(this.handle, "type");
32   }
33   string url()() {
34     return Object_Getter__string(this.handle, "url");
35   }
36   bool redirected()() {
37     return Object_Getter__bool(this.handle, "redirected");
38   }
39   ushort status()() {
40     return Object_Getter__ushort(this.handle, "status");
41   }
42   bool ok()() {
43     return Object_Getter__bool(this.handle, "ok");
44   }
45   string statusText()() {
46     return Object_Getter__string(this.handle, "statusText");
47   }
48   auto headers()() {
49     return Headers(Object_Getter__Handle(this.handle, "headers"));
50   }
51   auto clone()() {
52     return Response(Object_Getter__Handle(this.handle, "clone"));
53   }
54   auto cloneUnfiltered()() {
55     return Response(Object_Getter__Handle(this.handle, "cloneUnfiltered"));
56   }
57   bool hasCacheInfoChannel()() {
58     return Object_Getter__bool(this.handle, "hasCacheInfoChannel");
59   }
60   auto body_()() {
61     return recastOpt!(ReadableStream)(Object_Getter__OptionalHandle(this.handle, "body"));
62   }
63   bool bodyUsed()() {
64     return Object_Getter__bool(this.handle, "bodyUsed");
65   }
66   auto arrayBuffer()() {
67     return JsPromise!(ArrayBuffer)(Object_Getter__Handle(this.handle, "arrayBuffer"));
68   }
69   auto blob()() {
70     return JsPromise!(Blob)(Object_Getter__Handle(this.handle, "blob"));
71   }
72   auto formData()() {
73     return JsPromise!(FormData)(Object_Getter__Handle(this.handle, "formData"));
74   }
75   auto json()() {
76     return JsPromise!(JSON)(Object_Getter__Handle(this.handle, "json"));
77   }
78   auto text()() {
79     return JsPromise!(string)(Object_Getter__Handle(this.handle, "text"));
80   }
81 }
82 struct ResponseInit {
83   nothrow:
84   JsHandle handle;
85   alias handle this;
86   this(Handle h) {
87     this.handle = JsHandle(h);
88   }
89   static auto create() {
90     return ResponseInit(libwasm_add__object());
91   }
92   void status()(ushort status) {
93     Serialize_Object_VarArgCall!void(this.handle, "status", "ushort", tuple(status));
94   }
95   ushort status()() {
96     return Object_Getter__ushort(this.handle, "status");
97   }
98   void statusText()(string statusText) {
99     Object_Call_string__void(this.handle, "statusText", statusText);
100   }
101   string statusText()() {
102     return Object_Getter__string(this.handle, "statusText");
103   }
104   void headers()(scope ref HeadersInit headers) {
105     Serialize_Object_VarArgCall!void(this.handle, "headers", "SumType!(Handle,Handle,Handle)", tuple(libwasm.sumtype.match!(((ref headers.Types[0] v) => 0),((ref headers.Types[1] v) => 1),((ref headers.Types[2] v) => 2))(headers),tuple(libwasm.sumtype.match!(((ref headers.Types[0] v) => cast(Handle)v.handle),((ref headers.Types[1] v) => Handle.init),((ref headers.Types[2] v) => Handle.init))(headers),libwasm.sumtype.match!(((ref headers.Types[0] v) => Handle.init),((ref headers.Types[1] v) => cast(Handle)v.handle),((ref headers.Types[2] v) => Handle.init))(headers),libwasm.sumtype.match!(((ref headers.Types[0] v) => Handle.init),((ref headers.Types[1] v) => Handle.init),((ref headers.Types[2] v) => cast(Handle)v.handle))(headers))));
106   }
107   auto headers()() {
108     return Object_Getter__Handle(this.handle, "headers");
109   }
110 }
111 enum ResponseType {
112   basic,
113   cors,
114   default_,
115   error,
116   opaque,
117   opaqueredirect
118 }
119 
120