1

I am trying to set header for the authorized user using interceptor. But, setting headers turns post method to options. I have read about preflight requests and cors, but still not able to solve it. Want to know if it is related to me or something should be done from backend .

P.S: Tested same thing with Postman, works.

Here is the interceptor where I set headers:

import {Injectable} from "@angular/core";
import {
  HttpEvent,
  HttpInterceptor,
  HttpHandler,
  HttpHeaders,
  HttpRequest
} from "@angular/common/http";
import {Observable} from "rxjs/Observable";
import {AuthService} from "../../auth/auth.service";
@Injectable()
export class SetTokenIfLoggedIn implements HttpInterceptor {
  constructor(private _authService: AuthService) {}

  intercept(
    req: HttpRequest<any>,
    next: HttpHandler
  ): Observable<HttpEvent<any>> {
    let cloneReq = req;
    let headers = new HttpHeaders()
      .append("api-token", this._authService.getToken())
      .append("Accept", "application/json, text/plain, */*")
    if (this._authService.isLogged()) {
      cloneReq = req.clone({
        headers: headers
      });
    }
    return next.handle(cloneReq);
  }
}

Error message:

This is what I get as response

Request headers

Request:

Response headers

Response

Jamil Alisgenderov
  • 1,448
  • 2
  • 12
  • 23

0 Answers0