Newer
Older
glx-docker-headless-gpu / control.js
@Ryo Nakabayashi Ryo Nakabayashi on 11 Dec 2019 1 KB pythonAPI automatic flow
const axios = require('axios')
const request = require('request')
const client = axios.create({
  baseURL: 'http://localhost:8082',
  responseType: 'json',
  withCredentials: true,
})
const username = process.env.LG_USERNAME
const password = process.env.LG_PASSWORD

function control_simulation (mode) {
  return new Promise((resolve, reject) => {
    const source = axios.CancelToken.source()
    request.post({
      uri: 'https://account.lgsvlsimulator.com/users/signin',
      headers: {'Content-Type': 'application/json'},
      json: {
        'username': username,
        'password': password,
      }
    }, (err, res, data) => {
      const token = data.token
      client.put(`/users/${encodeURIComponent(token)}`)
        .then(res => {
          const cook = res.headers['set-cookie'][0].split(';')[0]
          client.request({
            method: 'post',
            cancelToken: source.token,
            url: mode === 'stop' ? '/simulations/5/stop' : '/simulations/5/start',
            headers: {
              Cookie: cook
            },
          })
            .then(res => {
              console.log('done', res.data)
              resolve()
            })
            .catch(err => {
              console.log('error', err)
              reject(err)
            })
        })
    })
  })
}

control_simulation('start')
  .then((res) => { console.log('kicked') })

module.exports = {
  control_simulation,
}