Request.idl 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #import <DOM/AbortSignal.idl>
  2. #import <Fetch/Body.idl>
  3. #import <Fetch/BodyInit.idl>
  4. #import <Fetch/Headers.idl>
  5. typedef (Request or USVString) RequestInfo;
  6. // https://fetch.spec.whatwg.org/#request
  7. [Exposed=(Window,Worker)]
  8. interface Request {
  9. constructor(RequestInfo input, optional RequestInit init = {});
  10. readonly attribute ByteString method;
  11. readonly attribute USVString url;
  12. [SameObject] readonly attribute Headers headers;
  13. readonly attribute RequestDestination destination;
  14. readonly attribute USVString referrer;
  15. readonly attribute ReferrerPolicy referrerPolicy;
  16. readonly attribute RequestMode mode;
  17. readonly attribute RequestCredentials credentials;
  18. readonly attribute RequestCache cache;
  19. readonly attribute RequestRedirect redirect;
  20. readonly attribute DOMString integrity;
  21. readonly attribute boolean keepalive;
  22. readonly attribute boolean isReloadNavigation;
  23. readonly attribute boolean isHistoryNavigation;
  24. readonly attribute AbortSignal signal;
  25. readonly attribute RequestDuplex duplex;
  26. [NewObject] Request clone();
  27. };
  28. Request includes Body;
  29. dictionary RequestInit {
  30. ByteString method;
  31. HeadersInit headers;
  32. BodyInit? body;
  33. USVString referrer;
  34. ReferrerPolicy referrerPolicy;
  35. RequestMode mode;
  36. RequestCredentials credentials;
  37. RequestCache cache;
  38. RequestRedirect redirect;
  39. DOMString integrity;
  40. boolean keepalive;
  41. AbortSignal? signal;
  42. RequestDuplex duplex;
  43. any window; // can only be set to null
  44. };
  45. enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "frame", "iframe", "image", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" };
  46. enum RequestMode { "navigate", "same-origin", "no-cors", "cors" };
  47. enum RequestCredentials { "omit", "same-origin", "include" };
  48. enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" };
  49. enum RequestRedirect { "follow", "error", "manual" };
  50. enum RequestDuplex { "half" };
  51. // https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy
  52. enum ReferrerPolicy {
  53. "",
  54. "no-referrer",
  55. "no-referrer-when-downgrade",
  56. "same-origin",
  57. "origin",
  58. "strict-origin",
  59. "origin-when-cross-origin",
  60. "strict-origin-when-cross-origin",
  61. "unsafe-url"
  62. };