diff --git a/src/api/RequestBuilder.ts b/src/api/RequestBuilder.ts index 4f8e924..cb7ceee 100644 --- a/src/api/RequestBuilder.ts +++ b/src/api/RequestBuilder.ts @@ -11,57 +11,44 @@ export interface RequestData { } export class RequestBuilder { - private endpoint: string = ''; - private queryParams: Record | null> | null = null; - private httpHeaders: HttpHeaders = new HttpHeaders(); - private data: any = null; - private silenceMode: boolean = false; - private withCredentials: boolean = false; + private result: RequestData = Object.create({}); constructor() { } public setEndpoint(endpoint: string): this { - this.endpoint = endpoint; + this.result.endpoint = endpoint; return this; } public setQueryParams(queryParams: Record | null>): RequestBuilder { - this.queryParams = queryParams; + this.result.queryParams = queryParams; return this; } public addHeaders(headers: Record): RequestBuilder { Object.keys(headers).forEach(key => { - this.httpHeaders = this.httpHeaders.set(key, headers[key]); + this.result.httpHeaders = this.result.httpHeaders.set(key, headers[key]); }); return this; } public setData(data: any): RequestBuilder { - this.data = data; + this.result.data = data; return this; } public setSilenceMode(silence: boolean = true): RequestBuilder { - this.silenceMode = silence; + this.result.silenceMode = silence; return this; } public setWithCredentials(credentials: boolean = true): RequestBuilder { - this.withCredentials = credentials; + this.result.withCredentials = credentials; return this; } public get build(): RequestData { - return { - endpoint: this.endpoint, - queryParams: this.queryParams, - httpHeaders: this.httpHeaders, - data: this.data, - silenceMode: this.silenceMode, - withCredentials: this.withCredentials, - needAuth: false - }; + return this.result; } }