68 lines
2.0 KiB
JavaScript
68 lines
2.0 KiB
JavaScript
'use strict';
|
|
class Intval {
|
|
constructor(url) {
|
|
this._baseUrl = `http://${url}`;
|
|
this.req = require('request');
|
|
}
|
|
async move() {
|
|
return new Promise((resolve, reject) => {
|
|
const timeStart = +new Date();
|
|
const url = `${this._baseUrl}/frame`;
|
|
//console.log(url)
|
|
return this.req(url, (err, res, body) => {
|
|
let ms = (+new Date()) - timeStart;
|
|
if (err) {
|
|
return reject(err);
|
|
}
|
|
return resolve(ms);
|
|
});
|
|
});
|
|
}
|
|
async setDir(dir) {
|
|
return new Promise((resolve, reject) => {
|
|
const timeStart = +new Date();
|
|
const url = `${this._baseUrl}/dir?dir=${dir}`;
|
|
//console.log(url)
|
|
return this.req(url, (err, res, body) => {
|
|
let ms = (+new Date()) - timeStart;
|
|
if (err) {
|
|
return reject(err);
|
|
}
|
|
return resolve(ms);
|
|
});
|
|
});
|
|
}
|
|
async setExposure(exposure, cb) {
|
|
return new Promise((resolve, reject) => {
|
|
const timeStart = +new Date();
|
|
const url = `${this._baseUrl}/exposure?exposure=${exposure}`;
|
|
//console.log(url)
|
|
return this.req(url, (err, res, body) => {
|
|
let ms = (+new Date()) - timeStart;
|
|
if (err) {
|
|
return reject(err);
|
|
}
|
|
return resolve(ms);
|
|
});
|
|
});
|
|
}
|
|
connect(cb) {
|
|
const timeStart = +new Date();
|
|
const url = `${this._baseUrl}/status`;
|
|
const opts = {
|
|
method: 'GET',
|
|
uri: url,
|
|
timeout: 5000
|
|
};
|
|
this.req(opts, (err, res, body) => {
|
|
let ms = (+new Date()) - timeStart;
|
|
if (err) {
|
|
//console.error(err)
|
|
return cb(err, ms);
|
|
}
|
|
cb(null, ms, body);
|
|
});
|
|
}
|
|
}
|
|
module.exports.Intval = Intval;
|
|
//# sourceMappingURL=index.js.map
|