import axios from 'axios'
const signer = require("./signer")
const domain = process.env.VUE_APP_DOMAIN
const appKey = process.env.VUE_APP_KEY
const appSecret = process.env.VUE_APP_SECRET
const sig = new signer.Signer()
sig.Key = appKey
sig.Secret = appSecret
const instance = axios.create({
baseURL: process.env.VUE_APP_BASE_URL,
timeout: 1000 * 100,
withCredentials: false,
});
axios.interceptors.request.use(function (config) {
return config;
}, function (error) {
return Promise.reject(error);
});
axios.interceptors.response.use(function (response) {
console.log(response)
return response;
}, function (error) {
return Promise.reject(error);
});
export function get(suffix: string, params?: object) {
if (params != undefined && params != null){
suffix = suffix + "?"
Object.keys(params).forEach(name => {
console.log(params[name as keyof object]);
suffix = suffix + `${name}=${params[name as keyof object]}`
})
}
var r = new signer.HttpRequest("GET", `${domain}${suffix}`);
r.headers["x-stage"] = "RELEASE"
var opts = sig.Sign(r)
const response = instance.get(suffix, {
headers: opts.headers
})
return response
}
export function post(suffix: string, data?: object, params?: object) {
if (params != undefined && params != null){
suffix = suffix + "?"
Object.keys(params).forEach(name => {
console.log(params[name as keyof object]);
suffix = suffix + `${name}=${params[name as keyof object]}`
})
}
var r = new signer.HttpRequest("POST", `${domain}${suffix}`);
r.body = JSON.stringify(data)
r.headers["x-stage"] = "RELEASE"
var opts = sig.Sign(r)
const response = instance.post(suffix, r.body,{
headers: opts.headers
})
return response
}
export function option(suffix: string) {
var r = new signer.HttpRequest("OPTIONS", `${domain}${suffix}`);
r.headers["x-stage"] = "RELEASE"
r.headers["Access-Control-Request-Method"]= "POST,OPTIONS"
r.headers["Access-Control-Request-Headers"]= "x-sdk-date"
const response = instance.options(suffix,{
headers: r.headers
})
return response
}