MCPcopy Index your code
hub / github.com/OneNoteDev/WebClipper / createAndSendRequest

Method createAndSendRequest

src/scripts/http/http.ts:28–58  ·  view source on GitHub ↗
(method: string, url: string, headers?: any, expectedCodes = [200], timeout = Http.defaultTimeout, data?: any)

Source from the content-addressed store, hash-verified

26 }
27
28 protected static createAndSendRequest(method: string, url: string, headers?: any, expectedCodes = [200], timeout = Http.defaultTimeout, data?: any): Promise<XMLHttpRequest> {
29 if (!url) {
30 throw new Error("url must be a non-empty string, but was: " + url);
31 }
32
33 return new Promise<XMLHttpRequest>((resolve, reject) => {
34 let request = new XMLHttpRequest();
35 request.open(method, url);
36
37 request.onload = () => {
38 if (expectedCodes.indexOf(request.status) > -1) {
39 resolve(request);
40 } else {
41 reject(OneNoteApi.ErrorUtils.createRequestErrorObject(request, OneNoteApi.RequestErrorType.UNEXPECTED_RESPONSE_STATUS));
42 }
43 };
44
45 request.onerror = () => {
46 reject(OneNoteApi.ErrorUtils.createRequestErrorObject(request, OneNoteApi.RequestErrorType.NETWORK_ERROR));
47 };
48
49 request.ontimeout = () => {
50 reject(OneNoteApi.ErrorUtils.createRequestErrorObject(request, OneNoteApi.RequestErrorType.REQUEST_TIMED_OUT));
51 };
52
53 Http.setHeaders(request, headers);
54 request.timeout = timeout;
55
56 request.send(data);
57 });
58 }
59
60 private static setHeaders(request: XMLHttpRequest, headers: any): void {
61 if (headers) {

Callers 3

getMethod · 0.80
postMethod · 0.80
funcMethod · 0.80

Calls 1

setHeadersMethod · 0.80

Tested by

no test coverage detected