thermostat-pi-dht
Version:
A Node.js framework (standalone app + lib) to control a heating system with a Raspberry Pi using DHT11 or DHT22/AM2302 sensors and GPIO actuators.
77 lines • 2.83 kB
JavaScript
;
// Project: thermostat-pi-dht
// File: httpGetJSON.ts
//
// Copyright 2021 Henning Kerstan
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.httpGetJSON = void 0;
const http = __importStar(require("http"));
/** Get a JSON */
async function httpGetJSON(params) {
return new Promise((resolve, reject) => {
const options = {
host: params.host,
port: params.port,
path: params.path,
method: 'GET',
};
// construct an http request
const request = http.request(options);
// on response: concatenate data and return it when finished; reject on response error
request.on('response', (res) => {
let data = '';
res.on('data', (d) => {
data += d;
});
res.on('end', () => {
resolve(data);
});
res.on('error', (err) => {
reject(err);
});
});
// reject on request error
request.on('error', (err) => {
reject(err);
});
// get the data
request.end();
});
}
exports.httpGetJSON = httpGetJSON;
//# sourceMappingURL=httpGetJSON.js.map