-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathback.js
24 lines (18 loc) · 825 Bytes
/
back.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import axios from 'axios';
import jsSHA from 'jssha';
const url = 'https://ptx.transportdata.tw/MOTC/v2/Bus/EstimatedTimeOfArrival/City/Tainan?$format=JSON';
const getAuthorizationHeader = function() {
var AppID = 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF';
var AppKey = 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF';
var GMTString = new Date().toGMTString();
var ShaObj = new jsSHA('SHA-1', 'TEXT');
ShaObj.setHMACKey(AppKey, 'TEXT');
ShaObj.update('x-date: ' + GMTString);
var HMAC = ShaObj.getHMAC('B64');
var Authorization = `hmac username="${AppID}", algorithm="hmac-sha1", headers="x-date", signature="${HMAC}"`;
return { 'Authorization': Authorization, 'X-Date': GMTString};
}
export default async function getData() {
let res = await axios.get(url, {headers: getAuthorizationHeader(),})
return await res.data
}