From e61542b6521722eafafb989dd88fa482ae07caac Mon Sep 17 00:00:00 2001 From: tykayn Date: Wed, 28 Apr 2021 15:35:08 +0200 Subject: [PATCH] use httpclient --- src/app/core/services/api.service.ts | 36 +++++++++++-------- .../consultation/consultation.component.ts | 2 +- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/app/core/services/api.service.ts b/src/app/core/services/api.service.ts index 3f721660..e0dfa4a7 100644 --- a/src/app/core/services/api.service.ts +++ b/src/app/core/services/api.service.ts @@ -4,8 +4,8 @@ import { environment } from 'src/environments/environment'; import { Answer } from '../enums/answer.enum'; import { Poll } from '../models/poll.model'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { Subscription } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subscription } from 'rxjs'; import { ToastService } from './toast.service'; import { LoaderService } from './loader.service'; import { Stack } from '../models/stack.model'; @@ -21,6 +21,7 @@ const apiEndpoints = environment.api.endpoints; }) export class ApiService { private static loader: LoaderService; + private http: HttpClient; private useDevLocalServer = true; private devLocalServerBaseHref = 'http://localhost:8000/'; private axiosInstance: AxiosInstance; @@ -59,19 +60,20 @@ export class ApiService { static makeHeaders(bodyContent?: any) { const headerDict = { Charset: 'UTF-8', + // 'Content-Type': 'application/json', + // Accept: 'application/json', + 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json', - Accept: 'application/json', + mode: 'no-cors', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Accept,Accept-Language,Content-Language,Content-Type', - 'Access-Control-Allow-Origin': '*', + // 'Access-Control-Allow-Origin': '*', }; - const requestOptions = { - headers: new HttpHeaders(headerDict), + return { + headers: headerDict, body: bodyContent, }; - - return requestOptions; } private static handleError(error): void { @@ -110,19 +112,23 @@ export class ApiService { * @param poll * @param vote_stack */ - public sendVoteStackOfPoll(poll: Poll, vote_stack: Stack) { + public sendVoteStackOfPoll(poll: Poll, vote_stack: Stack): Observable { // api_new_vote_stack POST ANY ANY /api/v1/poll/{id}/answer console.log('vote_stack', vote_stack); console.log('this.baseHref', this.baseHref); - let headers = ApiService.makeHeaders(vote_stack); + let headers = ApiService.makeHeaders(); console.log('headers', headers); + let url = `${this.baseHref}/${poll.custom_url}/answer`; - try { - return this.axiosInstance.post(`${this.pollsEndpoint}/${poll.custom_url}/answer`, vote_stack, headers); - } catch (error) { - ApiService.handleError(error); - } + let axiosconf = { + url, + method: 'POST', + body: vote_stack, + headers, + }; + + return this.http.post(url, vote_stack, headers); } ////////// diff --git a/src/app/features/consultation/consultation.component.ts b/src/app/features/consultation/consultation.component.ts index b04da9f7..c6aa4e66 100644 --- a/src/app/features/consultation/consultation.component.ts +++ b/src/app/features/consultation/consultation.component.ts @@ -79,7 +79,7 @@ export class ConsultationComponent implements OnInit, OnDestroy { } addVoteStack() { - this.api.sendVoteStackOfPoll(this.poll, this.storageService.vote_stack).then((resp) => { + this.api.sendVoteStackOfPoll(this.poll, this.storageService.vote_stack).subscribe((resp) => { console.log('resp', resp); this.api.getPollBySlug(this.poll.custom_url);