@per_moeller/asterisk-ari 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,66 +1,186 @@
1
1
  /**
2
2
  * HTTP connection manager using native fetch
3
+ *
4
+ * This module provides the HTTP layer for communicating with the Asterisk
5
+ * ARI REST API endpoints.
6
+ *
7
+ * @packageDocumentation
3
8
  */
4
9
  import type { ResolvedOptions } from './types/options.js';
5
10
  /**
6
- * ARI-specific HTTP error
11
+ * Error thrown when an ARI HTTP request fails.
12
+ *
13
+ * Contains the HTTP status code and the response body (if available)
14
+ * for debugging purposes.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * try {
19
+ * await client.channels.get('non-existent-id');
20
+ * } catch (error) {
21
+ * if (error instanceof AriHttpError) {
22
+ * console.log(`Status: ${error.statusCode}`);
23
+ * console.log(`Response: ${JSON.stringify(error.response)}`);
24
+ * }
25
+ * }
26
+ * ```
7
27
  */
8
28
  export declare class AriHttpError extends Error {
9
29
  statusCode: number;
10
30
  response?: unknown | undefined;
31
+ /**
32
+ * Creates a new ARI HTTP error.
33
+ *
34
+ * @param message - Error message describing what went wrong
35
+ * @param statusCode - HTTP status code (0 for network errors)
36
+ * @param response - Response body from the server (if available)
37
+ */
11
38
  constructor(message: string, statusCode: number, response?: unknown | undefined);
12
39
  }
13
40
  /**
14
- * Query parameter type
41
+ * Query parameters for HTTP requests.
42
+ *
43
+ * Supports string, number, boolean, and string array values.
44
+ * Undefined values are automatically filtered out.
15
45
  */
16
46
  export type QueryParams = Record<string, string | number | boolean | string[] | undefined>;
17
47
  /**
18
- * Convert any object to query params
48
+ * Convert an object to query parameters.
49
+ *
50
+ * This is a simple type assertion helper for converting typed objects
51
+ * to the generic QueryParams type.
52
+ *
53
+ * @param obj - Object to convert
54
+ * @returns Query parameters object or undefined
55
+ *
56
+ * @internal
19
57
  */
20
58
  export declare function toQueryParams(obj?: object): QueryParams | undefined;
21
59
  /**
22
- * Request options for HTTP calls
60
+ * Options for making HTTP requests.
61
+ *
62
+ * @internal
23
63
  */
24
64
  export interface RequestOptions {
65
+ /** HTTP method (default: 'GET') */
25
66
  method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
67
+ /** Request body (will be JSON-serialized) */
26
68
  body?: unknown;
69
+ /** Query parameters to append to the URL */
27
70
  query?: QueryParams;
71
+ /** Request timeout in milliseconds (overrides default) */
28
72
  timeout?: number;
29
73
  }
30
74
  /**
31
- * HTTP connection manager for ARI REST API
75
+ * HTTP connection manager for ARI REST API.
76
+ *
77
+ * Handles all HTTP communication with Asterisk, including authentication,
78
+ * request timeouts, and error handling.
79
+ *
80
+ * @remarks
81
+ * This class is used internally by the ARI client. You typically don't
82
+ * need to use it directly unless building custom functionality.
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const http = new HttpConnection(options);
87
+ *
88
+ * // Make requests
89
+ * const channels = await http.get<Channel[]>('/channels');
90
+ * const channel = await http.post<Channel>('/channels', undefined, {
91
+ * endpoint: 'PJSIP/1000',
92
+ * app: 'my-app'
93
+ * });
94
+ * ```
32
95
  */
33
96
  export declare class HttpConnection {
34
97
  private readonly baseUrl;
35
98
  private readonly authHeader;
36
99
  private readonly defaultTimeout;
100
+ /**
101
+ * Creates a new HTTP connection.
102
+ *
103
+ * @param options - Resolved connection options with credentials and URL
104
+ */
37
105
  constructor(options: ResolvedOptions);
38
106
  /**
39
- * Make an HTTP request to the ARI API
107
+ * Make an HTTP request to the ARI API.
108
+ *
109
+ * @typeParam T - Expected response type
110
+ * @param path - API path (e.g., '/channels')
111
+ * @param options - Request options
112
+ * @returns Promise resolving to the response data
113
+ * @throws {AriHttpError} If the request fails or returns an error status
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * // GET request
118
+ * const channels = await http.request<Channel[]>('/channels');
119
+ *
120
+ * // POST with query params
121
+ * const channel = await http.request<Channel>('/channels', {
122
+ * method: 'POST',
123
+ * query: { endpoint: 'PJSIP/1000', app: 'my-app' }
124
+ * });
125
+ * ```
40
126
  */
41
127
  request<T>(path: string, options?: RequestOptions): Promise<T>;
42
128
  /**
43
- * GET request
129
+ * Make a GET request.
130
+ *
131
+ * @typeParam T - Expected response type
132
+ * @param path - API path
133
+ * @param query - Optional query parameters
134
+ * @returns Promise resolving to the response data
44
135
  */
45
136
  get<T>(path: string, query?: RequestOptions['query']): Promise<T>;
46
137
  /**
47
- * POST request
138
+ * Make a POST request.
139
+ *
140
+ * @typeParam T - Expected response type
141
+ * @param path - API path
142
+ * @param body - Request body (will be JSON-serialized)
143
+ * @param query - Optional query parameters
144
+ * @returns Promise resolving to the response data
48
145
  */
49
146
  post<T>(path: string, body?: unknown, query?: RequestOptions['query']): Promise<T>;
50
147
  /**
51
- * PUT request
148
+ * Make a PUT request.
149
+ *
150
+ * @typeParam T - Expected response type
151
+ * @param path - API path
152
+ * @param body - Request body (will be JSON-serialized)
153
+ * @param query - Optional query parameters
154
+ * @returns Promise resolving to the response data
52
155
  */
53
156
  put<T>(path: string, body?: unknown, query?: RequestOptions['query']): Promise<T>;
54
157
  /**
55
- * DELETE request
158
+ * Make a DELETE request.
159
+ *
160
+ * @typeParam T - Expected response type
161
+ * @param path - API path
162
+ * @param query - Optional query parameters
163
+ * @returns Promise resolving to the response data
56
164
  */
57
165
  delete<T>(path: string, query?: RequestOptions['query']): Promise<T>;
58
166
  /**
59
- * Get the base URL (for WebSocket connection)
167
+ * Get the base URL of the Asterisk server.
168
+ *
169
+ * Used internally for WebSocket connection URL construction.
170
+ *
171
+ * @returns Base URL (e.g., 'http://localhost:8088')
172
+ *
173
+ * @internal
60
174
  */
61
175
  getBaseUrl(): string;
62
176
  /**
63
- * Get the auth credentials (for WebSocket connection)
177
+ * Get the authentication credentials.
178
+ *
179
+ * Used internally for WebSocket authentication.
180
+ *
181
+ * @returns Object with username and password
182
+ *
183
+ * @internal
64
184
  */
65
185
  getCredentials(): {
66
186
  username: string;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAG5B,UAAU,EAAE,MAAM;IAClB,QAAQ,CAAC,EAAE,OAAO;gBAFzB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,OAAO,YAAA;CAK5B;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE3F;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGnE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,OAAO,EAAE,eAAe;IAQpC;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAuFxE;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxF;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvF;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1E;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,cAAc,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAOzD"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAU5B,UAAU,EAAE,MAAM;IAClB,QAAQ,CAAC,EAAE,OAAO;IAV3B;;;;;;OAMG;gBAED,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,OAAO,YAAA;CAK5B;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE3F;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGnE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;;;OAIG;gBACS,OAAO,EAAE,eAAe;IAQpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAuFxE;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxF;;;;;;;;OAQG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvF;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1E;;;;;;;;OAQG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;OAQG;IACH,cAAc,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAOzD"}
@@ -1,12 +1,39 @@
1
1
  /**
2
2
  * HTTP connection manager using native fetch
3
+ *
4
+ * This module provides the HTTP layer for communicating with the Asterisk
5
+ * ARI REST API endpoints.
6
+ *
7
+ * @packageDocumentation
3
8
  */
4
9
  /**
5
- * ARI-specific HTTP error
10
+ * Error thrown when an ARI HTTP request fails.
11
+ *
12
+ * Contains the HTTP status code and the response body (if available)
13
+ * for debugging purposes.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * try {
18
+ * await client.channels.get('non-existent-id');
19
+ * } catch (error) {
20
+ * if (error instanceof AriHttpError) {
21
+ * console.log(`Status: ${error.statusCode}`);
22
+ * console.log(`Response: ${JSON.stringify(error.response)}`);
23
+ * }
24
+ * }
25
+ * ```
6
26
  */
7
27
  export class AriHttpError extends Error {
8
28
  statusCode;
9
29
  response;
30
+ /**
31
+ * Creates a new ARI HTTP error.
32
+ *
33
+ * @param message - Error message describing what went wrong
34
+ * @param statusCode - HTTP status code (0 for network errors)
35
+ * @param response - Response body from the server (if available)
36
+ */
10
37
  constructor(message, statusCode, response) {
11
38
  super(message);
12
39
  this.statusCode = statusCode;
@@ -15,7 +42,15 @@ export class AriHttpError extends Error {
15
42
  }
16
43
  }
17
44
  /**
18
- * Convert any object to query params
45
+ * Convert an object to query parameters.
46
+ *
47
+ * This is a simple type assertion helper for converting typed objects
48
+ * to the generic QueryParams type.
49
+ *
50
+ * @param obj - Object to convert
51
+ * @returns Query parameters object or undefined
52
+ *
53
+ * @internal
19
54
  */
20
55
  export function toQueryParams(obj) {
21
56
  if (!obj)
@@ -23,12 +58,36 @@ export function toQueryParams(obj) {
23
58
  return obj;
24
59
  }
25
60
  /**
26
- * HTTP connection manager for ARI REST API
61
+ * HTTP connection manager for ARI REST API.
62
+ *
63
+ * Handles all HTTP communication with Asterisk, including authentication,
64
+ * request timeouts, and error handling.
65
+ *
66
+ * @remarks
67
+ * This class is used internally by the ARI client. You typically don't
68
+ * need to use it directly unless building custom functionality.
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const http = new HttpConnection(options);
73
+ *
74
+ * // Make requests
75
+ * const channels = await http.get<Channel[]>('/channels');
76
+ * const channel = await http.post<Channel>('/channels', undefined, {
77
+ * endpoint: 'PJSIP/1000',
78
+ * app: 'my-app'
79
+ * });
80
+ * ```
27
81
  */
28
82
  export class HttpConnection {
29
83
  baseUrl;
30
84
  authHeader;
31
85
  defaultTimeout;
86
+ /**
87
+ * Creates a new HTTP connection.
88
+ *
89
+ * @param options - Resolved connection options with credentials and URL
90
+ */
32
91
  constructor(options) {
33
92
  // Ensure URL doesn't have trailing slash
34
93
  this.baseUrl = options.url.replace(/\/$/, '');
@@ -37,7 +96,25 @@ export class HttpConnection {
37
96
  this.defaultTimeout = options.requestTimeout;
38
97
  }
39
98
  /**
40
- * Make an HTTP request to the ARI API
99
+ * Make an HTTP request to the ARI API.
100
+ *
101
+ * @typeParam T - Expected response type
102
+ * @param path - API path (e.g., '/channels')
103
+ * @param options - Request options
104
+ * @returns Promise resolving to the response data
105
+ * @throws {AriHttpError} If the request fails or returns an error status
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * // GET request
110
+ * const channels = await http.request<Channel[]>('/channels');
111
+ *
112
+ * // POST with query params
113
+ * const channel = await http.request<Channel>('/channels', {
114
+ * method: 'POST',
115
+ * query: { endpoint: 'PJSIP/1000', app: 'my-app' }
116
+ * });
117
+ * ```
41
118
  */
42
119
  async request(path, options = {}) {
43
120
  const { method = 'GET', body, query, timeout = this.defaultTimeout } = options;
@@ -114,37 +191,71 @@ export class HttpConnection {
114
191
  }
115
192
  }
116
193
  /**
117
- * GET request
194
+ * Make a GET request.
195
+ *
196
+ * @typeParam T - Expected response type
197
+ * @param path - API path
198
+ * @param query - Optional query parameters
199
+ * @returns Promise resolving to the response data
118
200
  */
119
201
  async get(path, query) {
120
202
  return this.request(path, { method: 'GET', query });
121
203
  }
122
204
  /**
123
- * POST request
205
+ * Make a POST request.
206
+ *
207
+ * @typeParam T - Expected response type
208
+ * @param path - API path
209
+ * @param body - Request body (will be JSON-serialized)
210
+ * @param query - Optional query parameters
211
+ * @returns Promise resolving to the response data
124
212
  */
125
213
  async post(path, body, query) {
126
214
  return this.request(path, { method: 'POST', body, query });
127
215
  }
128
216
  /**
129
- * PUT request
217
+ * Make a PUT request.
218
+ *
219
+ * @typeParam T - Expected response type
220
+ * @param path - API path
221
+ * @param body - Request body (will be JSON-serialized)
222
+ * @param query - Optional query parameters
223
+ * @returns Promise resolving to the response data
130
224
  */
131
225
  async put(path, body, query) {
132
226
  return this.request(path, { method: 'PUT', body, query });
133
227
  }
134
228
  /**
135
- * DELETE request
229
+ * Make a DELETE request.
230
+ *
231
+ * @typeParam T - Expected response type
232
+ * @param path - API path
233
+ * @param query - Optional query parameters
234
+ * @returns Promise resolving to the response data
136
235
  */
137
236
  async delete(path, query) {
138
237
  return this.request(path, { method: 'DELETE', query });
139
238
  }
140
239
  /**
141
- * Get the base URL (for WebSocket connection)
240
+ * Get the base URL of the Asterisk server.
241
+ *
242
+ * Used internally for WebSocket connection URL construction.
243
+ *
244
+ * @returns Base URL (e.g., 'http://localhost:8088')
245
+ *
246
+ * @internal
142
247
  */
143
248
  getBaseUrl() {
144
249
  return this.baseUrl;
145
250
  }
146
251
  /**
147
- * Get the auth credentials (for WebSocket connection)
252
+ * Get the authentication credentials.
253
+ *
254
+ * Used internally for WebSocket authentication.
255
+ *
256
+ * @returns Object with username and password
257
+ *
258
+ * @internal
148
259
  */
149
260
  getCredentials() {
150
261
  // Decode from auth header
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}