XMLHttpRequest.idl 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #import <DOM/Document.idl>
  2. #import <DOM/EventHandler.idl>
  3. #import <Fetch/BodyInit.idl>
  4. #import <XHR/XMLHttpRequestEventTarget.idl>
  5. #import <XHR/XMLHttpRequestUpload.idl>
  6. enum XMLHttpRequestResponseType {
  7. "",
  8. "arraybuffer",
  9. "blob",
  10. "document",
  11. "json",
  12. "text"
  13. };
  14. // https://xhr.spec.whatwg.org/#xmlhttprequest
  15. [Exposed=(Window,DedicatedWorker,SharedWorker)]
  16. interface XMLHttpRequest : XMLHttpRequestEventTarget {
  17. constructor();
  18. // event handler
  19. attribute EventHandler onreadystatechange;
  20. // states
  21. const unsigned short UNSENT = 0;
  22. const unsigned short OPENED = 1;
  23. const unsigned short HEADERS_RECEIVED = 2;
  24. const unsigned short LOADING = 3;
  25. const unsigned short DONE = 4;
  26. readonly attribute unsigned short readyState;
  27. // request
  28. undefined open(DOMString method, DOMString url);
  29. undefined open(ByteString method, USVString url, boolean async, optional USVString? username = null, optional USVString? password = null);
  30. undefined setRequestHeader(DOMString name, DOMString value);
  31. attribute unsigned long timeout;
  32. attribute boolean withCredentials;
  33. [SameObject] readonly attribute XMLHttpRequestUpload upload;
  34. undefined send(optional (Document or XMLHttpRequestBodyInit)? body = null);
  35. undefined abort();
  36. // response
  37. // FIXME: readonly attribute USVString responseURL;
  38. readonly attribute unsigned short status;
  39. readonly attribute ByteString statusText;
  40. ByteString? getResponseHeader(ByteString name);
  41. ByteString getAllResponseHeaders();
  42. undefined overrideMimeType(DOMString mime);
  43. attribute XMLHttpRequestResponseType responseType;
  44. readonly attribute any response;
  45. readonly attribute DOMString responseText;
  46. readonly attribute Document? responseXML;
  47. };