| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>Request idl interface</title> | |
| <meta name="help" href="https://fetch.spec.whatwg.org/#response"> | |
| <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/WebIDLParser.js"></script> | |
| <script src="/resources/idlharness.js"></script> | |
| </head> | |
| <body> | |
| <script id="body-idl" type="text/plain"> | |
| typedef any JSON; | |
| typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit; | |
| [NoInterfaceObject, | |
| Exposed=(Window,Worker)] | |
| interface Body { | |
| readonly attribute ReadableStream? body; | |
| readonly attribute boolean bodyUsed; | |
| [NewObject] Promise<ArrayBuffer> arrayBuffer(); | |
| [NewObject] Promise<Blob> blob(); | |
| [NewObject] Promise<FormData> formData(); | |
| [NewObject] Promise<JSON> json(); | |
| [NewObject] Promise<USVString> text(); | |
| }; | |
| </script> | |
| <script id="request-idl" type="text/plain"> | |
| typedef (Request or USVString) RequestInfo; | |
| [Constructor(RequestInfo input, optional RequestInit init), | |
| Exposed=(Window,Worker)] | |
| interface Request { | |
| readonly attribute ByteString method; | |
| readonly attribute USVString url; | |
| [SameObject] readonly attribute Headers headers; | |
| readonly attribute RequestType type; | |
| readonly attribute RequestDestination destination; | |
| readonly attribute USVString referrer; | |
| readonly attribute ReferrerPolicy referrerPolicy; | |
| readonly attribute RequestMode mode; | |
| readonly attribute RequestCredentials credentials; | |
| readonly attribute RequestCache cache; | |
| readonly attribute RequestRedirect redirect; | |
| readonly attribute DOMString integrity; | |
| [NewObject] Request clone(); | |
| }; | |
| Request implements Body; | |
| dictionary RequestInit { | |
| ByteString method; | |
| HeadersInit headers; | |
| BodyInit? body; | |
| USVString referrer; | |
| ReferrerPolicy referrerPolicy; | |
| RequestMode mode; | |
| RequestCredentials credentials; | |
| RequestCache cache; | |
| RequestRedirect redirect; | |
| DOMString integrity; | |
| any window; // can only be set to null | |
| }; | |
| enum RequestType { "", "audio", "font", "image", "script", "style", "track", "video" }; | |
| enum RequestDestination { "", "document", "sharedworker", "subresource", "unknown", "worker" }; | |
| enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; | |
| enum RequestCredentials { "omit", "same-origin", "include" }; | |
| enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; | |
| enum RequestRedirect { "follow", "error", "manual" }; | |
| enum ReferrerPolicy { | |
| "", "no-referrer", "no-referrer-when-downgrade", "origin", | |
| "origin-when-cross-origin", "unsafe-url", "same-origin", "strict-origin", | |
| "strict-origin-when-cross-origin" | |
| }; | |
| </script> | |
| <script> | |
| var idlsArray = new IdlArray(); | |
| var idl = document.getElementById("body-idl").textContent | |
| idl += document.getElementById("request-idl").textContent | |
| idlsArray.add_idls(idl); | |
| idlsArray.add_untested_idls("interface Headers {};"); | |
| idlsArray.add_objects({ Request: ['new Request("")'] }); | |
| idlsArray.test(); | |
| </script> | |
| </body> | |
| </html> |