node-ovh-ts
Version:
OVH API wrapper library for TypeScript
2 lines • 1.76 kB
JavaScript
var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var o in t)p(e,o,{get:t[o],enumerable:!0})},v=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!f.call(e,s)&&s!==o&&p(e,s,{get:()=>t[s],enumerable:!(i=y(t,s))||i.enumerable});return e};var O=e=>v(p({},"__esModule",{value:!0}),e);var k={};d(k,{default:()=>l});module.exports=O(k);var m=require("crypto");var c={"ovh-eu":{host:"eu.api.ovh.com"},"ovh-us":{host:"api.us.ovhcloud.com"},"ovh-ca":{host:"ca.api.ovh.com"},"sys-eu":{host:"eu.api.soyoustart.com"},"sys-ca":{host:"ca.api.soyoustart.com"},"soyoustart-eu":{host:"eu.api.soyoustart.com"},"soyoustart-ca":{host:"ca.api.soyoustart.com"},"ks-eu":{host:"eu.api.kimsufi.com"},"ks-ca":{host:"ca.api.kimsufi.com"},"kimsufi-eu":{host:"eu.api.kimsufi.com"},"kimsufi-ca":{host:"ca.api.kimsufi.com"}};var u=class{constructor(t,o,i,s){this.appKey=t,this.appSecret=o,this.consumerKey=i,this.options={endpoint:"ovh-eu",...s}}async request(t,o,i){let s=c[this.options.endpoint].host,n={"Content-Type":"application/json","X-Ovh-Application":this.appKey,"X-Ovh-Consumer":this.consumerKey,"X-Ovh-Timestamp":`${Math.round(Date.now()/1e3)}`},a=null;i&&(a=JSON.stringify(i),n["Content-Length"]=a.length);let h=`https://${s}/1.0${o}`;n["X-Ovh-Signature"]=this.signRequest(t,h,a,n["X-Ovh-Timestamp"]);let r=await fetch(h,{headers:n,method:t,body:a});if(r.status!==200)throw new Error(`OVH API error: ${r.status} ${r.statusText}`);return r.json()}signRequest(t,o,i,s){let n=[this.appSecret,this.consumerKey,t,o,i||"",s];return"$1$"+(0,m.createHash)("sha1").update(n.join("+")).digest("hex")}},l=u;0&&(module.exports={});
//# sourceMappingURL=ovh.js.map