42 lines
884 B
TypeScript
42 lines
884 B
TypeScript
import axios, { AxiosInstance } from "axios";
|
|
import { env } from "#config/env/env.js"
|
|
|
|
export class NosHttpClient {
|
|
public client: AxiosInstance;
|
|
|
|
constructor(
|
|
private baseURL: string,
|
|
//private jwtManager: JWTProvider<any>
|
|
) {
|
|
this.client = axios.create({
|
|
baseURL: baseURL
|
|
})
|
|
|
|
// Interceptor para los headers fijos
|
|
this.client.interceptors.request.use(
|
|
async (config) => {
|
|
// Configuracion especifica de NOS (El token simepre es el mismo?)
|
|
const token = env.NOS_ACCESS_TOKEN;
|
|
config.headers.Authorization = `Bearer ${token}`
|
|
config.headers.set("content-type", "application/json")
|
|
return config
|
|
},
|
|
(error) => Promise.reject(error)
|
|
)
|
|
}
|
|
|
|
get post() {
|
|
return this.client.post
|
|
}
|
|
|
|
get patch() {
|
|
return this.client.patch
|
|
}
|
|
|
|
get get() {
|
|
return this.client.get
|
|
}
|
|
|
|
|
|
}
|