UNPKG

domotz-remote-pawn

Version:

Domotz Agent

53 lines (43 loc) 1.48 kB
/** This file is part of Domotz Agent. * Copyright (C) 2016 Domotz Ltd * * Domotz Agent is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Domotz Agent is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Domotz Agent. If not, see <http://www.gnu.org/licenses/>. **/ var request_retry = require('requestretry'); const METHOD_TO_REQUEST_MAP = { POST: "post", post: "post", GET: "get", get: "get", PUT: "put", put: "put", DELETE: "del", delete: "del", HEAD: "head", head: "head", PATCH: "patch", patch: "patch" }; function Request(options, callback) { options.maxAttempts = options.maxAttempts || 1; return request_retry(options, callback); } Object.keys(METHOD_TO_REQUEST_MAP).forEach(function(method) { Request[METHOD_TO_REQUEST_MAP[method]] = function (options, callback) { options.method = method; return request_retry(options, callback); }; }); Request.METHOD_TO_REQUEST_MAP = METHOD_TO_REQUEST_MAP; module.exports = Request;