import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import {AuthService} from './auth.service'; @Injectable() export class HttpWrapperService { constructor(private http : HttpClient, private auth: AuthService) { } getHeaders(delete_content_type: boolean = false) { let toReturn = { 'content-type' :'application/json', authorization : '' } if (this.auth.loggedIn()) { toReturn.authorization = this.auth.token(); } else { delete toReturn.authorization; } if (delete_content_type) { delete toReturn["content-type"]; } return toReturn; } bypassGet(url) { return this.http.get( url ) .toPromise(); } insecureGet(url) { return this.http.get(environment.api_root + url, { headers: this.getHeaders() }) .toPromise(); } insecurePost(url, payload) { return this.http.post(environment.api_root + url, payload, { headers: this.getHeaders() }) .toPromise(); } insecurePut(url, payload) { return this.http.put(environment.api_root + url, payload, { headers: this.getHeaders() }) .toPromise(); } secureGet(url) { return this.http.get(environment.api_root + url, { headers: this.getHeaders() }) .toPromise(); } securePost(url, payload) { return this.http.post(environment.api_root + url, payload, { headers: this.getHeaders() }) .toPromise(); } securePostForm(url, payload) { return this.http.post(environment.api_root + url, payload, { headers: this.getHeaders(true) }) .toPromise(); } securePut(url, payload = null) { return this.http.put(environment.api_root + url, payload, { headers: this.getHeaders() }) .toPromise(); } secureDelete(url) { return this.http.delete(environment.api_root + url, { headers: this.getHeaders() }) .toPromise(); } }