nativescript-background-http icon indicating copy to clipboard operation
nativescript-background-http copied to clipboard

Interceptor for nativescript-background-http requests

Open progressify opened this issue 6 years ago • 4 comments

Hi, In my project, I have integrated JWT authentication with an interceptor for all HTTP request. Exists a method for intercept the requests of nativescript-background-http?

Which platform(s) does your issue occur on?

  • Android Pie
  • Device: Google Pixel 2 XL

Please, provide the following version numbers that your issue occurs with:

  • CLI: (run tns --version to fetch it) 5.0.1
  • Cross-platform modules: (check the 'version' attribute in the node_modules/tns-core-modules/package.json file in your project) "tns-core-modules": "^5.0.2",
  • Runtime(s): (look for the "tns-android" and "tns-ios" properties in the package.json file of your project) "tns-ios": { "version": "4.2.0" }, "tns-android": { "version": "5.0.0" }
  • Plugin(s): (look for the version numbers in the package.json file of your project and paste your dependencies and devDependencies here: "nativescript-background-http": "^3.3.1",

This is the code I have used to intercept all the http requests:

app.module.ts

import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';

...
...

@NgModule({
    bootstrap: [
        ...
    ],
    imports: [
        ...
    ],
    declarations: [
       ...
    ],
    providers: [
        ...
        {
            provide : HTTP_INTERCEPTORS,
            useClass: RequestInterceptorService,
            multi: true
        }
    ],
    schemas: [
        ...
    ]
})

progressify avatar Jan 02 '19 15:01 progressify

Hi @progressify , Do you have a sample demo of what you are trying to achieve? Have you tried to intercept the requests using already integrated HTTP_INTERCEPTORS? If you question is whether the plugin has such interception functionality, I would say No. So I would suggest you using some third party one.

zbranzov avatar Jan 04 '19 14:01 zbranzov

Hi, I have read and used this tutorial to implement JWT, intercept and refresh token logic: https://www.intertech.com/Blog/angular-4-tutorial-handling-refresh-token-with-new-httpinterceptor/

but seem to work only with the HTTP request from '@angular/common/http', not from nativescript-background-http

progressify avatar Jan 05 '19 16:01 progressify

to have a workaround you can add your Authorization header manually like let request = { url: "urlToPost", method: "POST", headers: { "Authorization": "Bearer ${getToken()}" }, };

ForzaMark avatar Apr 07 '20 06:04 ForzaMark

Exactly the same issue here. When I try your workaround, the Authorization header isn't sent to server.

jbouloux1 avatar Dec 16 '20 14:12 jbouloux1