api-v1/core/builders/UrlBuilder.js

34 lines
595 B
JavaScript

export default class UrlBuilder {
constructor(baseUrl) {
this.baseUrl = baseUrl;
this.pathParams = {};
this.queryParams = {};
this.headerParams = {};
}
withPathParams(params = {}) {
this.pathParams = params;
return this;
}
withQueryParams(params = {}) {
this.queryParams = params;
return this;
}
withHeaderParams(params = {}) {
this.headerParams = params;
return this;
}
build() {
let path = this.baseUrl;
for (const key of Object.keys(this.pathParams)) {
path += `/:${key}`;
}
return path;
}
}