| <!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 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> |