32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const got = require('got')
 | 
						|
const token = require('basic-auth-token');
 | 
						|
let logger = require('perfect-logger')
 | 
						|
var cacheManager = require('cache-manager');
 | 
						|
var memoryCache = cacheManager.caching({ store: 'memory', max: 100, ttl: 200/*seconds*/ });
 | 
						|
 | 
						|
module.exports = {
 | 
						|
    postRequest: async (body, url) => {
 | 
						|
        const authToken = token(process.env.username, process.env.password)
 | 
						|
        const options = {
 | 
						|
            method: 'POST',
 | 
						|
            json: JSON.parse(body),
 | 
						|
            headers: {
 | 
						|
                "User-Agent-Wiser": "iPhoneTestTool;iOS6;WiserApp2.0.0",
 | 
						|
                "Authorization": "Basic " + authToken
 | 
						|
            }
 | 
						|
        }
 | 
						|
        try {
 | 
						|
            response = await got('https://public.wcs.schneider-electric.ws/rpc/public_genie/' + url, options);
 | 
						|
            const res = JSON.parse(response.body)
 | 
						|
            logger.debug(url + " - ZONES - " + res.updateData.zones.length)
 | 
						|
            if (res.updateData.zones.length < 2) {
 | 
						|
                logger.debug(JSON.stringify(res))
 | 
						|
            }
 | 
						|
            return res
 | 
						|
        } catch (error) {
 | 
						|
            logger.warn('-- post error --');
 | 
						|
            logger.crit(JSON.stringify(response))
 | 
						|
            logger.warn('-- post error --');
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |