Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const axios = require('axios')
- const cryptoJs = require('crypto-js')
- const Base64 = require('js-base64').Base64
- const apiToken = 'fwaf'
- const apiSecret = 'fwaf'
- const projectsUrl = 'fwaf'
- class Api {
- constructor(apiToken, apiSecret, projectsUrl) {
- this.updateInterval
- this.apiToken = apiToken
- this.apiSecret = apiSecret
- this.projectsUrl = projectsUrl
- this.signature = this.genereteSignature()
- console.log(this.signature)
- }
- genereteSignature() {
- const postParams = ''
- const method = 'GET'
- return Base64.encode(cryptoJs.HmacSHA256(`${this.projectsUrl}${method}${postParams}`, this.apiSecret))
- }
- start() {
- this.updateInterval = setInterval(this.getUpdate, 5000)
- }
- async getUpdate() {
- let projects
- try {
- projects = (await axios.get(projectsUrl, {
- auth: {
- username: this.apiToken,
- password: this.signature
- },
- })).data
- } catch (err) {
- console.error(err.message)
- }
- console.log(`Last projects: ${projects}`)
- }
- }
- const api = new Api(apiToken, apiSecret, projectsUrl)
- api.start()
Add Comment
Please, Sign In to add comment