enc-webrtc
Version:
An utility which helps using web rtc.
44 lines (41 loc) • 1.44 kB
text/typescript
export class Http {
public headers: { name: string, value: string }[] = [];
public get = (url: string): Promise<string> => {
return this.request("GET", url);
}
public put = (url: string, data?: string): Promise<string> => {
return this.request("PUT", url, data);
}
public post = (url: string, data?: string): Promise<string> => {
return this.request("POST", url, data)
}
public delete = (url: string): Promise<string> => {
return this.request("DELETE", url)
}
private request = (method: string, url: string, data?: string): Promise<string> => {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
resolve(xhr.responseText);
} else {
reject();
}
}
};
xhr.open(method, url, true);
if (this.headers) {
for (const header of this.headers) {
xhr.setRequestHeader(header.name, header.value);
}
}
if (data) {
xhr.send(data);
}
else {
xhr.send();
}
});
}
}