@knowmax/http-utils
Version:
HTTP utilities for headers, content types, and common HTTP operations
37 lines (36 loc) • 1.04 kB
JavaScript
import { CONTENTTYPE_JSON } from "./contenttypes";
import { HEADER_ACCEPT_LANGUAGE, HEADER_AUTHORIZATION, HEADER_CONTENT_TYPE } from "./headertypes";
export const headers = (initial) => {
return new Headers(initial);
};
class Headers {
constructor(initial) {
this.headers = Object.assign({}, (initial !== null && initial !== void 0 ? initial : {}));
}
withBearer(token) {
this.headers[HEADER_AUTHORIZATION] = "Bearer " + token;
return this;
}
withLanguage(language) {
if (language) {
this.headers[HEADER_ACCEPT_LANGUAGE] = language;
}
return this;
}
withContentTypeJson() {
return this.withContentType(CONTENTTYPE_JSON);
}
withContentType(contentType) {
this.headers[HEADER_CONTENT_TYPE] = contentType;
return this;
}
withHeader(key, value) {
if (value) {
this.headers[key] = value;
}
return this;
}
export() {
return Object.assign({}, this.headers);
}
}