@@ -16,7 +16,7 @@ import { createServer } from 'node:http'
1616
1717import { request } from 'undici'
1818
19- import { baseURL , deleteWebhook , devicesURL , queryWebhook , setupWebhook , updateWebhook } from './settings.js'
19+ import { updateBaseURL , urls } from './settings.js'
2020
2121/**
2222 * The `SwitchBotOpenAPI` class provides methods to interact with the SwitchBot OpenAPI.
@@ -66,11 +66,15 @@ export class SwitchBotOpenAPI extends EventEmitter {
6666 * @param token - The API token used for authentication.
6767 * @param secret - The secret key used for signing requests.
6868 */
69- constructor ( token : string , secret : string ) {
69+ constructor ( token : string , secret : string , hostname ?: string ) {
7070 super ( )
7171 this . token = token
7272 this . secret = secret
73- this . baseURL = baseURL
73+ this . baseURL = urls . baseURL
74+
75+ if ( hostname ) {
76+ updateBaseURL ( hostname )
77+ }
7478 }
7579
7680 /**
@@ -91,7 +95,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
9195 */
9296 async getDevices ( ) : Promise < { response : devices , statusCode : number } > {
9397 try {
94- const { body, statusCode } = await request ( devicesURL , { headers : this . generateHeaders ( ) } )
98+ const { body, statusCode } = await request ( urls . devicesURL , { headers : this . generateHeaders ( ) } )
9599 const response = await body . json ( ) as devices
96100 this . emitLog ( 'debug' , `Got devices: ${ JSON . stringify ( response ) } ` )
97101 this . emitLog ( 'debug' , `statusCode: ${ statusCode } ` )
@@ -233,7 +237,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
233237 }
234238
235239 try {
236- const { body, statusCode } = await request ( setupWebhook , {
240+ const { body, statusCode } = await request ( urls . setupWebhook , {
237241 method : 'POST' ,
238242 headers : this . generateHeaders ( ) ,
239243 body : JSON . stringify ( {
@@ -252,7 +256,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
252256 }
253257
254258 try {
255- const { body, statusCode } = await request ( updateWebhook , {
259+ const { body, statusCode } = await request ( urls . updateWebhook , {
256260 method : 'POST' ,
257261 headers : this . generateHeaders ( ) ,
258262 body : JSON . stringify ( {
@@ -273,7 +277,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
273277 }
274278
275279 try {
276- const { body, statusCode } = await request ( queryWebhook , {
280+ const { body, statusCode } = await request ( urls . queryWebhook , {
277281 method : 'POST' ,
278282 headers : this . generateHeaders ( ) ,
279283 body : JSON . stringify ( {
@@ -302,7 +306,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
302306 */
303307 async deleteWebhook ( url : string ) : Promise < void > {
304308 try {
305- const { body, statusCode } = await request ( deleteWebhook , {
309+ const { body, statusCode } = await request ( urls . deleteWebhook , {
306310 method : 'POST' ,
307311 headers : this . generateHeaders ( ) ,
308312 body : JSON . stringify ( {
0 commit comments