sockress-client 0.2.13 → 0.2.15

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.
package/README.md CHANGED
@@ -80,24 +80,6 @@ const response = await api.request({
80
80
  });
81
81
  ```
82
82
 
83
- #### Query parameters (works for both HTTP and Socket)
84
-
85
- You can pass query params either in the path or in the `query` object. Both work for WebSocket and HTTP. If both are used, the `query` object overrides URL params for conflicting keys:
86
-
87
- ```ts
88
- // URL style
89
- await api.get('/api/users?page=1&limit=10');
90
-
91
- // Object style
92
- await api.get('/api/users', { query: { page: 1, limit: 10 } });
93
-
94
- // Combined: object overrides URL for same keys
95
- await api.request({
96
- path: '/api/users?page=1&limit=10',
97
- query: { page: 2 } // page becomes 2, limit stays 10
98
- });
99
- ```
100
-
101
83
  ### `api.get(path, options?)`
102
84
 
103
85
  ```ts
@@ -187,30 +169,6 @@ console.log(response.body.avatarUrl);
187
169
 
188
170
  The client automatically serializes `FormData` for socket transport and uses native `FormData` for HTTP fallback.
189
171
 
190
- ### Upload Progress Tracking
191
-
192
- Track upload progress with the `onProgress` callback:
193
-
194
- ```ts
195
- const formData = new FormData();
196
- formData.append('video', largeVideoFile);
197
-
198
- const response = await api.post('/api/upload', {
199
- body: formData,
200
- onProgress: (progress) => {
201
- console.log(`Uploaded: ${progress.loaded} / ${progress.total} bytes`);
202
- console.log(`Progress: ${progress.percentage}%`);
203
- }
204
- });
205
- ```
206
-
207
- The `onProgress` callback receives an object with:
208
- - `loaded`: Number of bytes uploaded so far
209
- - `total`: Total bytes to upload (may be undefined if size is unknown)
210
- - `percentage`: Upload percentage (0-100, undefined if total is unknown)
211
-
212
- **Note:** Progress tracking works for both HTTP (using XMLHttpRequest) and WebSocket (during FormData serialization) transports.
213
-
214
172
  ---
215
173
 
216
174
  ## Events
@@ -239,33 +197,6 @@ api.on('reconnect', ({ attempt }) => {
239
197
  });
240
198
  ```
241
199
 
242
- ### Custom Realtime Events (emit / on)
243
-
244
- Send arbitrary realtime events over the WebSocket transport:
245
-
246
- ```ts
247
- // Client -> Server
248
- api.emit('message', 'hello');
249
- api.emit('any_payload', { ok: true, list: [1, 2, 3] });
250
- ```
251
-
252
- Receive events sent by the server:
253
-
254
- ```ts
255
- api.on('message', (payload) => {
256
- // Note: `message` is also used internally as a legacy channel,
257
- // so you'll usually receive an object like:
258
- // { type: 'event', event: 'message', data: <your data> }
259
- console.log('message event:', payload);
260
- });
261
-
262
- api.on('user_typing', (data) => {
263
- console.log('user_typing:', data);
264
- });
265
- ```
266
-
267
- Server can broadcast events using `app.emit('eventName', data)`.
268
-
269
200
  Remove listeners:
270
201
 
271
202
  ```ts
@@ -374,17 +305,6 @@ Request body. Can be:
374
305
  - `URLSearchParams`
375
306
  - String
376
307
 
377
- ### `onProgress` (optional)
378
- Callback function to track upload progress. Receives an object with `loaded`, `total`, and `percentage` properties:
379
-
380
- ```ts
381
- onProgress: (progress) => {
382
- console.log(`${progress.percentage}% uploaded`);
383
- }
384
- ```
385
-
386
- Works for both HTTP and WebSocket transports when uploading files via `FormData` or `Blob`.
387
-
388
308
  ### `timeout` (optional)
389
309
  Request timeout in milliseconds (overrides default)
390
310
 
package/dist/index.d.ts CHANGED
@@ -11,11 +11,8 @@ export interface SockressClientOptions {
11
11
  fetchImpl?: typeof fetch;
12
12
  wsFactory?: WebSocketFactory;
13
13
  credentials?: RequestCredentials;
14
- }
15
- export interface UploadProgress {
16
- loaded: number;
17
- total?: number;
18
- percentage?: number;
14
+ /** Explicit WebSocket Origin header (auto-detected from window.location.origin in browsers). */
15
+ origin?: string;
19
16
  }
20
17
  export interface SockressClientRequest {
21
18
  path: string;
@@ -26,7 +23,6 @@ export interface SockressClientRequest {
26
23
  timeout?: number;
27
24
  signal?: AbortSignal;
28
25
  disableHttpFallback?: boolean;
29
- onProgress?: (progress: UploadProgress) => void;
30
26
  }
31
27
  export interface SockressClientResponse<T = unknown> {
32
28
  status: number;
@@ -50,7 +46,6 @@ export type EventMap = {
50
46
  message: any;
51
47
  };
52
48
  type Listener<K extends keyof EventMap> = (payload: EventMap[K]) => void;
53
- type CustomListener = (data: any) => void;
54
49
  type WebSocketLike = {
55
50
  readyState: number;
56
51
  send(data: string): void;
@@ -64,7 +59,7 @@ type WebSocketLike = {
64
59
  on?(type: string, listener: (...args: unknown[]) => void): void;
65
60
  off?(type: string, listener: (...args: unknown[]) => void): void;
66
61
  };
67
- export type WebSocketFactory = (url: string) => WebSocketLike;
62
+ export type WebSocketFactory = (url: string, origin?: string) => WebSocketLike;
68
63
  interface NormalizedOptions {
69
64
  baseUrl: string;
70
65
  socketPath: string;
@@ -77,6 +72,7 @@ interface NormalizedOptions {
77
72
  fetchImpl: typeof fetch;
78
73
  wsFactory?: WebSocketFactory;
79
74
  credentials: RequestCredentials;
75
+ origin?: string;
80
76
  }
81
77
  export declare class SockressClient {
82
78
  private readonly options;
@@ -85,23 +81,14 @@ export declare class SockressClient {
85
81
  private pending;
86
82
  private queue;
87
83
  private listeners;
88
- private customListeners;
89
84
  private socketEnabled;
90
85
  private lifecycleTeardown;
91
86
  private closeRequested;
92
87
  constructor(options: NormalizedOptions);
93
88
  static create(options: SockressClientOptions): SockressClient;
94
89
  on<K extends keyof EventMap>(event: K, listener: Listener<K>): () => void;
95
- on(event: string, listener: CustomListener): () => void;
96
90
  off<K extends keyof EventMap>(event: K, listener: Listener<K>): void;
97
- off(event: string, listener: CustomListener): void;
98
- private emitInternal;
99
- private emitCustom;
100
- /**
101
- * Emit a custom realtime event to the server (socket transport only).
102
- * The payload can be anything: string, object, array, etc.
103
- */
104
- emit(event: string, data?: unknown): void;
91
+ emit<K extends keyof EventMap>(event: K, payload: EventMap[K]): void;
105
92
  connect(): Promise<void>;
106
93
  private attachSocketHandlers;
107
94
  private flushQueue;
@@ -112,8 +99,6 @@ export declare class SockressClient {
112
99
  private rejectAllPending;
113
100
  private registerLifecycleHooks;
114
101
  private canUseSocket;
115
- isConnected(): boolean;
116
- disconnect(): void;
117
102
  request<T = unknown>(options: SockressClientRequest): Promise<SockressClientResponse<T>>;
118
103
  get<T = unknown>(path: string, options?: Omit<SockressClientRequest, 'path' | 'method'>): Promise<SockressClientResponse<T>>;
119
104
  post<T = unknown>(path: string, options?: Omit<SockressClientRequest, 'path' | 'method'>): Promise<SockressClientResponse<T>>;
@@ -122,8 +107,6 @@ export declare class SockressClient {
122
107
  delete<T = unknown>(path: string, options?: Omit<SockressClientRequest, 'path' | 'method'>): Promise<SockressClientResponse<T>>;
123
108
  private sendViaSocket;
124
109
  private sendViaHttp;
125
- private sendViaXHR;
126
- private sendViaHttpFallback;
127
110
  close(): void;
128
111
  }
129
112
  export declare function sockressClient(options: SockressClientOptions): SockressClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,11 +16,10 @@ class SockressClient {
16
16
  reconnect: new Set(),
17
17
  message: new Set()
18
18
  };
19
- this.customListeners = new Map();
20
19
  this.socketEnabled = true;
21
20
  this.lifecycleTeardown = [];
22
21
  this.closeRequested = false;
23
- if (options.autoConnect) {
22
+ if (options.autoConnect && isBrowser()) {
24
23
  this.connect().catch(() => {
25
24
  // Ignore initial connection failures, HTTP fallback will handle requests.
26
25
  });
@@ -31,69 +30,22 @@ class SockressClient {
31
30
  return new SockressClient(normalizeOptions(options));
32
31
  }
33
32
  on(event, listener) {
34
- var _a;
35
- if (Object.prototype.hasOwnProperty.call(this.listeners, event)) {
36
- this.listeners[event].add(listener);
37
- return () => this.off(event, listener);
38
- }
39
- const key = String(event);
40
- const set = (_a = this.customListeners.get(key)) !== null && _a !== void 0 ? _a : new Set();
41
- set.add(listener);
42
- this.customListeners.set(key, set);
43
- return () => this.off(key, listener);
33
+ this.listeners[event].add(listener);
34
+ return () => this.off(event, listener);
44
35
  }
45
36
  off(event, listener) {
46
- if (Object.prototype.hasOwnProperty.call(this.listeners, event)) {
47
- this.listeners[event].delete(listener);
48
- return;
49
- }
50
- const key = String(event);
51
- const set = this.customListeners.get(key);
52
- if (!set)
53
- return;
54
- set.delete(listener);
55
- if (set.size === 0) {
56
- this.customListeners.delete(key);
57
- }
37
+ this.listeners[event].delete(listener);
58
38
  }
59
- emitInternal(event, payload) {
39
+ emit(event, payload) {
60
40
  for (const listener of this.listeners[event]) {
61
41
  listener(payload);
62
42
  }
63
43
  }
64
- emitCustom(event, data) {
65
- const set = this.customListeners.get(event);
66
- if (!set || !set.size)
44
+ async connect() {
45
+ var _a;
46
+ if (!isBrowser()) {
67
47
  return;
68
- for (const listener of set) {
69
- listener(data);
70
- }
71
- }
72
- /**
73
- * Emit a custom realtime event to the server (socket transport only).
74
- * The payload can be anything: string, object, array, etc.
75
- */
76
- emit(event, data) {
77
- const name = String(event);
78
- if (!name) {
79
- throw new Error('emit(event, data) requires a non-empty event name');
80
48
  }
81
- if (!this.options.wsFactory) {
82
- this.socketEnabled = false;
83
- throw new Error('Socket transport is unavailable');
84
- }
85
- const payload = { type: 'event', event: name, data };
86
- if (this.canUseSocket()) {
87
- this.ws.send(JSON.stringify(payload));
88
- return;
89
- }
90
- // Queue until socket connects
91
- this.queue.push(payload);
92
- if (!this.closeRequested) {
93
- this.connect().catch(() => undefined);
94
- }
95
- }
96
- async connect() {
97
49
  if (!this.options.wsFactory) {
98
50
  this.socketEnabled = false;
99
51
  return;
@@ -101,51 +53,19 @@ class SockressClient {
101
53
  if (this.ws && this.ws.readyState === 1) {
102
54
  return;
103
55
  }
104
- // Clean up existing connection if any (but not if connecting)
105
- if (this.ws && this.ws.readyState !== 0 && this.ws.readyState !== 1) {
106
- try {
107
- this.ws.close();
108
- }
109
- catch {
110
- // Ignore close errors
111
- }
112
- this.ws = undefined;
113
- }
114
- // If already connecting, wait for it
115
- if (this.ws) {
116
- const currentState = this.ws.readyState;
117
- if (currentState === 0) {
118
- // Wait for connection to establish
119
- let attempts = 0;
120
- while (this.ws && this.ws.readyState === 0 && attempts < 30) {
121
- await new Promise(resolve => setTimeout(resolve, 100));
122
- attempts++;
123
- }
124
- if (this.ws && this.ws.readyState === 1) {
125
- return;
126
- }
127
- }
128
- else if (currentState === 1) {
129
- return;
130
- }
131
- }
132
- const socketUrl = buildSocketUrl(this.options.baseUrl, this.options.socketPath);
133
- try {
134
- this.ws = this.options.wsFactory(socketUrl);
135
- this.attachSocketHandlers(this.ws);
136
- // Don't set socketEnabled to false here - wait for 'open' event
137
- }
138
- catch (error) {
56
+ const origin = (_a = this.options.origin) !== null && _a !== void 0 ? _a : getBrowserOrigin();
57
+ if (!origin) {
139
58
  this.socketEnabled = false;
140
- this.emitInternal('error', error);
141
- throw error;
59
+ return;
142
60
  }
61
+ const socketUrl = buildSocketUrl(this.options.baseUrl, this.options.socketPath);
62
+ this.ws = this.options.wsFactory(socketUrl, origin);
63
+ this.attachSocketHandlers(this.ws);
143
64
  }
144
65
  attachSocketHandlers(socket) {
145
66
  const handleOpen = () => {
146
67
  this.reconnectAttempts = 0;
147
- this.socketEnabled = true;
148
- this.emitInternal('open', undefined);
68
+ this.emit('open', undefined);
149
69
  this.flushQueue();
150
70
  };
151
71
  const handleMessage = (event) => {
@@ -155,18 +75,13 @@ class SockressClient {
155
75
  }
156
76
  };
157
77
  const handleError = (event) => {
158
- this.emitInternal('error', event);
159
- // Don't disable socket on error - let it try to reconnect
160
- // Only reject pending requests, don't disable socket completely
78
+ this.emit('error', event);
161
79
  this.rejectAllPending(new Error('Socket error'));
162
80
  };
163
81
  const handleClose = (details) => {
164
- this.emitInternal('close', { code: details === null || details === void 0 ? void 0 : details.code, reason: details === null || details === void 0 ? void 0 : details.reason });
165
- // Only reject pending if we're not reconnecting
166
- if (!this.closeRequested) {
167
- this.rejectAllPending(new Error('Socket closed'));
168
- this.scheduleReconnect();
169
- }
82
+ this.emit('close', { code: details === null || details === void 0 ? void 0 : details.code, reason: details === null || details === void 0 ? void 0 : details.reason });
83
+ this.rejectAllPending(new Error('Socket closed'));
84
+ this.scheduleReconnect();
170
85
  };
171
86
  if (typeof socket.addEventListener === 'function') {
172
87
  socket.addEventListener('open', () => handleOpen());
@@ -204,13 +119,13 @@ class SockressClient {
204
119
  }
205
120
  }
206
121
  scheduleReconnect() {
207
- if (!this.socketEnabled || !this.options.wsFactory) {
122
+ if (!isBrowser() || !this.socketEnabled || !this.options.wsFactory) {
208
123
  return;
209
124
  }
210
125
  this.reconnectAttempts += 1;
211
126
  const delay = Math.min(this.options.reconnectInterval * this.reconnectAttempts, this.options.maxReconnectInterval);
212
127
  setTimeout(() => {
213
- this.emitInternal('reconnect', { attempt: this.reconnectAttempts });
128
+ this.emit('reconnect', { attempt: this.reconnectAttempts });
214
129
  this.connect().catch(() => {
215
130
  // keep trying silently
216
131
  });
@@ -219,12 +134,10 @@ class SockressClient {
219
134
  handleSocketMessage(raw) {
220
135
  try {
221
136
  const payload = JSON.parse(raw);
222
- // Handle broadcast messages (no id)
223
137
  if (payload.type && !payload.id && ['message', 'join', 'leave', 'room_created', 'room_deleted', 'error'].includes(payload.type)) {
224
- this.emitInternal('message', payload);
138
+ this.emit('message', payload);
225
139
  return;
226
140
  }
227
- // Handle error responses
228
141
  if (payload.type === 'error') {
229
142
  const pending = payload.id ? this.pending.get(payload.id) : null;
230
143
  const error = new Error(payload.message);
@@ -233,36 +146,21 @@ class SockressClient {
233
146
  pending.reject(error);
234
147
  }
235
148
  else {
236
- this.emitInternal('error', error);
149
+ this.emit('error', error);
237
150
  }
238
151
  return;
239
152
  }
240
- // Handle realtime event messages (no request/response)
241
- if (payload.type === 'event' && typeof payload.event === 'string') {
242
- // Fire custom listeners by name
243
- this.emitCustom(payload.event, payload.data);
244
- // Also expose via legacy 'message' channel for backwards compatibility
245
- this.emitInternal('message', { type: 'event', event: payload.event, data: payload.data });
246
- return;
247
- }
248
- // Handle response messages (must have type === 'response' and id)
249
- if (payload.type === 'response' && payload.id) {
250
- const pending = this.pending.get(payload.id);
251
- if (!pending) {
252
- return;
253
- }
254
- this.clearPending(payload.id);
255
- const response = createClientResponse(payload);
256
- // Apply cookies from server response
257
- if (payload.cookies && Array.isArray(payload.cookies)) {
258
- this.applyCookies(payload.cookies);
259
- }
260
- pending.resolve(response);
153
+ const pending = this.pending.get(payload.id);
154
+ if (!pending) {
261
155
  return;
262
156
  }
157
+ this.clearPending(payload.id);
158
+ const response = createClientResponse(payload);
159
+ this.applyCookies(payload.cookies);
160
+ pending.resolve(response);
263
161
  }
264
162
  catch (error) {
265
- this.emitInternal('error', error);
163
+ this.emit('error', error);
266
164
  }
267
165
  }
268
166
  applyCookies(cookies) {
@@ -305,65 +203,26 @@ class SockressClient {
305
203
  }
306
204
  }
307
205
  canUseSocket() {
308
- if (!this.options.wsFactory || !this.socketEnabled) {
309
- return false;
310
- }
311
- if (!this.ws) {
312
- return false;
313
- }
314
- // Check readyState: 0 = CONNECTING, 1 = OPEN, 2 = CLOSING, 3 = CLOSED
315
- return this.ws.readyState === 1;
316
- }
317
- isConnected() {
318
- return this.canUseSocket();
319
- }
320
- disconnect() {
321
- this.close();
206
+ return Boolean(this.options.wsFactory && this.socketEnabled && this.ws && this.ws.readyState === 1);
322
207
  }
323
208
  async request(options) {
324
209
  var _a, _b;
325
210
  const method = (options.method || 'GET').toUpperCase();
326
- const { pathname, query: urlQuery } = parseQueryFromPath(options.path);
327
- const path = normalizePath(pathname);
211
+ const path = normalizePath(options.path);
328
212
  const headers = { ...this.options.headers, ...((_a = options.headers) !== null && _a !== void 0 ? _a : {}) };
329
- const objectQuery = options.query ? normalizeQuery(options.query) : {};
330
- const mergedQuery = { ...urlQuery, ...objectQuery };
331
- const query = Object.keys(mergedQuery).length > 0 ? mergedQuery : undefined;
213
+ const query = options.query ? normalizeQuery(options.query) : undefined;
332
214
  const timeout = (_b = options.timeout) !== null && _b !== void 0 ? _b : this.options.timeout;
333
- const onProgress = options.onProgress;
334
- if (this.options.preferSocket && this.options.wsFactory) {
335
- // If socket is enabled or we have a factory, try socket first
336
- if (this.socketEnabled || this.options.wsFactory !== undefined) {
337
- try {
338
- return await this.sendViaSocket({ method, path, headers, query, body: options.body, timeout, onProgress });
339
- }
340
- catch (error) {
341
- if (options.disableHttpFallback) {
342
- throw error;
343
- }
344
- // If socket fails and we're still trying to connect, wait a bit more
345
- if (!this.canUseSocket() && this.options.wsFactory !== undefined && !this.closeRequested) {
346
- // Try connecting once more
347
- try {
348
- await this.connect();
349
- // Wait a bit longer for React Native
350
- let attempts = 0;
351
- while (!this.canUseSocket() && attempts < 20) {
352
- await new Promise(resolve => setTimeout(resolve, 150));
353
- attempts++;
354
- }
355
- if (this.canUseSocket()) {
356
- return await this.sendViaSocket({ method, path, headers, query, body: options.body, timeout, onProgress });
357
- }
358
- }
359
- catch (retryError) {
360
- // Fall through to HTTP
361
- }
362
- }
215
+ if (this.options.preferSocket && this.socketEnabled) {
216
+ try {
217
+ return await this.sendViaSocket({ method, path, headers, query, body: options.body, timeout });
218
+ }
219
+ catch (error) {
220
+ if (options.disableHttpFallback) {
221
+ throw error;
363
222
  }
364
223
  }
365
224
  }
366
- return this.sendViaHttp({ method, path, headers, query, body: options.body, signal: options.signal, onProgress });
225
+ return this.sendViaHttp({ method, path, headers, query, body: options.body, signal: options.signal });
367
226
  }
368
227
  get(path, options) {
369
228
  return this.request({ ...(options !== null && options !== void 0 ? options : {}), path, method: 'GET' });
@@ -381,50 +240,16 @@ class SockressClient {
381
240
  return this.request({ ...(options !== null && options !== void 0 ? options : {}), path, method: 'DELETE' });
382
241
  }
383
242
  async sendViaSocket(input) {
243
+ if (!isBrowser()) {
244
+ throw new Error('Socket transport is unavailable outside the browser');
245
+ }
384
246
  if (!this.options.wsFactory) {
385
247
  this.socketEnabled = false;
386
248
  throw new Error('Socket transport is unavailable');
387
249
  }
388
- // Try to connect if not connected
389
- if (!this.canUseSocket()) {
390
- try {
391
- await this.connect();
392
- // Wait longer for connection to establish (especially for React Native)
393
- // React Native WebSocket can take longer to connect
394
- let attempts = 0;
395
- const maxAttempts = 30; // 3 seconds total wait time
396
- while (!this.canUseSocket() && attempts < maxAttempts) {
397
- await new Promise(resolve => setTimeout(resolve, 100));
398
- attempts++;
399
- // Check if socket is connecting (readyState === 0)
400
- if (this.ws && this.ws.readyState === 0) {
401
- // Still connecting, continue waiting
402
- continue;
403
- }
404
- // If socket closed or errored, try reconnecting once
405
- if (this.ws && (this.ws.readyState === 2 || this.ws.readyState === 3)) {
406
- if (attempts < 5) {
407
- // Try reconnecting once more
408
- try {
409
- await this.connect();
410
- attempts = 0; // Reset attempts
411
- }
412
- catch {
413
- // Ignore reconnect error, will throw below
414
- }
415
- }
416
- }
417
- }
418
- }
419
- catch (error) {
420
- throw new Error(`Failed to connect socket: ${error instanceof Error ? error.message : String(error)}`);
421
- }
422
- }
423
- if (!this.canUseSocket()) {
424
- throw new Error('Socket is not connected after connection attempt');
425
- }
250
+ await this.connect();
426
251
  const id = (0, nanoid_1.nanoid)();
427
- const serializedBody = await serializeBodyForSocket(input.body, input.onProgress);
252
+ const serializedBody = await serializeBodyForSocket(input.body);
428
253
  const payload = {
429
254
  type: 'request',
430
255
  id,
@@ -443,13 +268,7 @@ class SockressClient {
443
268
  });
444
269
  const serialized = JSON.stringify(payload);
445
270
  if (this.canUseSocket()) {
446
- try {
447
- this.ws.send(serialized);
448
- }
449
- catch (error) {
450
- this.clearPending(id);
451
- throw new Error(`Failed to send via socket: ${error instanceof Error ? error.message : String(error)}`);
452
- }
271
+ this.ws.send(serialized);
453
272
  }
454
273
  else {
455
274
  this.queue.push(payload);
@@ -459,162 +278,6 @@ class SockressClient {
459
278
  async sendViaHttp(input) {
460
279
  var _a;
461
280
  const url = buildHttpUrl(this.options.baseUrl, input.path, input.query);
462
- // Use XMLHttpRequest for upload progress tracking if onProgress is provided
463
- if (input.onProgress && (isFormData(input.body) || isBlob(input.body))) {
464
- return this.sendViaXHR(url, input);
465
- }
466
- // Fallback to fetch for non-file uploads or when progress tracking not needed
467
- const headers = new Headers(input.headers);
468
- const init = {
469
- method: input.method,
470
- headers,
471
- credentials: this.options.credentials,
472
- signal: input.signal
473
- };
474
- if (input.body !== undefined && input.method !== 'GET' && input.method !== 'HEAD') {
475
- if (typeof input.body === 'string' ||
476
- input.body instanceof URLSearchParams ||
477
- isBlob(input.body) ||
478
- isFormData(input.body)) {
479
- init.body = input.body;
480
- }
481
- else {
482
- init.body = JSON.stringify(input.body);
483
- if (!headers.has('content-type')) {
484
- headers.set('content-type', 'application/json');
485
- }
486
- }
487
- }
488
- const response = await this.options.fetchImpl(url, init);
489
- const text = await response.text();
490
- let parsed = text;
491
- const contentType = (_a = response.headers.get('content-type')) !== null && _a !== void 0 ? _a : '';
492
- if (contentType.includes('application/json') && text) {
493
- try {
494
- parsed = JSON.parse(text);
495
- }
496
- catch {
497
- parsed = text;
498
- }
499
- }
500
- const headersObj = {};
501
- response.headers.forEach((value, key) => {
502
- headersObj[key.toLowerCase()] = value;
503
- });
504
- return {
505
- status: response.status,
506
- ok: response.ok,
507
- headers: headersObj,
508
- body: parsed,
509
- json: () => parsed,
510
- text: () => text,
511
- raw: () => parsed
512
- };
513
- }
514
- sendViaXHR(url, input) {
515
- return new Promise((resolve, reject) => {
516
- if (typeof XMLHttpRequest === 'undefined') {
517
- // Fallback to fetch if XHR is not available
518
- return this.sendViaHttpFallback(url, input).then(resolve).catch(reject);
519
- }
520
- const xhr = new XMLHttpRequest();
521
- // Handle abort signal
522
- if (input.signal) {
523
- const abortHandler = () => {
524
- xhr.abort();
525
- reject(new Error('Request aborted'));
526
- };
527
- if (input.signal.aborted) {
528
- abortHandler();
529
- return;
530
- }
531
- input.signal.addEventListener('abort', abortHandler);
532
- }
533
- // Set up upload progress tracking
534
- if (input.onProgress && xhr.upload) {
535
- xhr.upload.addEventListener('progress', (event) => {
536
- if (event.lengthComputable) {
537
- input.onProgress({
538
- loaded: event.loaded,
539
- total: event.total,
540
- percentage: event.total > 0 ? Math.round((event.loaded / event.total) * 100) : undefined
541
- });
542
- }
543
- else {
544
- input.onProgress({
545
- loaded: event.loaded
546
- });
547
- }
548
- });
549
- }
550
- xhr.addEventListener('load', () => {
551
- var _a;
552
- const text = xhr.responseText;
553
- let parsed = text;
554
- const contentType = (_a = xhr.getResponseHeader('content-type')) !== null && _a !== void 0 ? _a : '';
555
- if (contentType.includes('application/json') && text) {
556
- try {
557
- parsed = JSON.parse(text);
558
- }
559
- catch {
560
- parsed = text;
561
- }
562
- }
563
- const headersObj = {};
564
- const allHeaders = xhr.getAllResponseHeaders();
565
- if (allHeaders) {
566
- allHeaders.split('\r\n').forEach((line) => {
567
- const colonIndex = line.indexOf(':');
568
- if (colonIndex > 0) {
569
- const key = line.substring(0, colonIndex).trim().toLowerCase();
570
- const value = line.substring(colonIndex + 1).trim();
571
- if (key && value) {
572
- headersObj[key] = value;
573
- }
574
- }
575
- });
576
- }
577
- resolve({
578
- status: xhr.status,
579
- ok: xhr.status >= 200 && xhr.status < 300,
580
- headers: headersObj,
581
- body: parsed,
582
- json: () => parsed,
583
- text: () => text,
584
- raw: () => parsed
585
- });
586
- });
587
- xhr.addEventListener('error', () => {
588
- reject(new Error('Network error'));
589
- });
590
- xhr.addEventListener('abort', () => {
591
- reject(new Error('Request aborted'));
592
- });
593
- xhr.open(input.method, url, true);
594
- // Set headers (skip Content-Type for FormData - browser sets it automatically with boundary)
595
- const isFormDataBody = isFormData(input.body);
596
- Object.entries(input.headers).forEach(([key, value]) => {
597
- // Don't set Content-Type header for FormData - browser will set it with boundary
598
- if (isFormDataBody && key.toLowerCase() === 'content-type') {
599
- return;
600
- }
601
- xhr.setRequestHeader(key, value);
602
- });
603
- // Set credentials
604
- if (this.options.credentials === 'include') {
605
- xhr.withCredentials = true;
606
- }
607
- // Send request
608
- if (input.body !== undefined && input.method !== 'GET' && input.method !== 'HEAD') {
609
- xhr.send(input.body);
610
- }
611
- else {
612
- xhr.send();
613
- }
614
- });
615
- }
616
- async sendViaHttpFallback(url, input) {
617
- var _a;
618
281
  const headers = new Headers(input.headers);
619
282
  const init = {
620
283
  method: input.method,
@@ -682,32 +345,8 @@ function sockressClient(options) {
682
345
  return SockressClient.create(options);
683
346
  }
684
347
  exports.createSockressClient = sockressClient;
685
- function getWebSocketConstructor() {
686
- // Check multiple possible locations for WebSocket
687
- if (typeof WebSocket !== 'undefined') {
688
- return WebSocket;
689
- }
690
- // React Native / Expo
691
- if (typeof global !== 'undefined' && global.WebSocket) {
692
- return global.WebSocket;
693
- }
694
- // Node.js environment
695
- if (typeof globalThis !== 'undefined' && globalThis.WebSocket) {
696
- return globalThis.WebSocket;
697
- }
698
- // Try to require for Node.js environments
699
- try {
700
- if (typeof require !== 'undefined') {
701
- return require('ws');
702
- }
703
- }
704
- catch {
705
- // Ignore require errors
706
- }
707
- return undefined;
708
- }
709
348
  function normalizeOptions(options) {
710
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
349
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
711
350
  if (!options.baseUrl) {
712
351
  throw new Error('baseUrl is required');
713
352
  }
@@ -721,38 +360,55 @@ function normalizeOptions(options) {
721
360
  return originalFetch.apply(globalThis, args);
722
361
  });
723
362
  }
724
- const WebSocketConstructor = getWebSocketConstructor();
725
- const wsFactory = (_b = options.wsFactory) !== null && _b !== void 0 ? _b : (WebSocketConstructor ? (url) => new WebSocketConstructor(url) : undefined);
363
+ const browserOrigin = getBrowserOrigin();
364
+ const origin = (_b = options.origin) !== null && _b !== void 0 ? _b : browserOrigin;
365
+ const wsFactory = isBrowser()
366
+ ? ((_c = options.wsFactory) !== null && _c !== void 0 ? _c : createBrowserWsFactory())
367
+ : undefined;
726
368
  return {
727
369
  baseUrl: options.baseUrl.replace(/\/+$/, ''),
728
- socketPath: (_c = options.socketPath) !== null && _c !== void 0 ? _c : '/sockress',
729
- headers: { ...((_d = options.headers) !== null && _d !== void 0 ? _d : {}) },
730
- timeout: (_e = options.timeout) !== null && _e !== void 0 ? _e : 15000,
731
- reconnectInterval: (_f = options.reconnectInterval) !== null && _f !== void 0 ? _f : 1000,
732
- maxReconnectInterval: (_g = options.maxReconnectInterval) !== null && _g !== void 0 ? _g : 15000,
733
- autoConnect: (_h = options.autoConnect) !== null && _h !== void 0 ? _h : true,
734
- preferSocket: (_j = options.preferSocket) !== null && _j !== void 0 ? _j : true,
370
+ socketPath: (_d = options.socketPath) !== null && _d !== void 0 ? _d : '/sockress',
371
+ headers: { ...((_e = options.headers) !== null && _e !== void 0 ? _e : {}) },
372
+ timeout: (_f = options.timeout) !== null && _f !== void 0 ? _f : 15000,
373
+ reconnectInterval: (_g = options.reconnectInterval) !== null && _g !== void 0 ? _g : 1000,
374
+ maxReconnectInterval: (_h = options.maxReconnectInterval) !== null && _h !== void 0 ? _h : 15000,
375
+ autoConnect: isBrowser() ? ((_j = options.autoConnect) !== null && _j !== void 0 ? _j : true) : false,
376
+ preferSocket: isBrowser() ? ((_k = options.preferSocket) !== null && _k !== void 0 ? _k : true) : false,
735
377
  fetchImpl,
736
378
  wsFactory,
737
- credentials: (_k = options.credentials) !== null && _k !== void 0 ? _k : 'include'
379
+ credentials: (_l = options.credentials) !== null && _l !== void 0 ? _l : 'include',
380
+ origin
738
381
  };
739
382
  }
740
- async function serializeBodyForSocket(body, onProgress) {
383
+ function isBrowser() {
384
+ return typeof window !== 'undefined' && typeof window.document !== 'undefined';
385
+ }
386
+ function getBrowserOrigin() {
387
+ var _a;
388
+ if (!isBrowser()) {
389
+ return undefined;
390
+ }
391
+ return ((_a = window.location) === null || _a === void 0 ? void 0 : _a.origin) || undefined;
392
+ }
393
+ function createBrowserWsFactory() {
394
+ if (typeof WebSocket === 'undefined') {
395
+ return undefined;
396
+ }
397
+ return (url) => new WebSocket(url);
398
+ }
399
+ async function serializeBodyForSocket(body) {
741
400
  if (isFormData(body)) {
742
401
  return {
743
- __formData: await serializeFormData(body, onProgress)
402
+ __formData: await serializeFormData(body)
744
403
  };
745
404
  }
746
405
  return body;
747
406
  }
748
- async function serializeFormData(formData, onProgress) {
407
+ async function serializeFormData(formData) {
749
408
  var _a, _b;
750
409
  const fields = {};
751
410
  const files = {};
752
411
  const entries = collectFormDataEntries(formData);
753
- // Calculate total size for progress tracking
754
- let totalSize = 0;
755
- const fileEntries = [];
756
412
  for (const [key, value] of entries) {
757
413
  if (typeof value === 'string') {
758
414
  if (fields[key]) {
@@ -764,23 +420,7 @@ async function serializeFormData(formData, onProgress) {
764
420
  }
765
421
  continue;
766
422
  }
767
- const size = value.size || 0;
768
- totalSize += size;
769
- fileEntries.push({ key, value, size });
770
- }
771
- // Serialize files with progress tracking
772
- let loadedSize = 0;
773
- for (const { key, value, size } of fileEntries) {
774
423
  const fileBuffer = await value.arrayBuffer();
775
- // Report progress after reading file
776
- loadedSize += size;
777
- if (onProgress) {
778
- onProgress({
779
- loaded: loadedSize,
780
- total: totalSize,
781
- percentage: totalSize > 0 ? Math.round((loadedSize / totalSize) * 100) : undefined
782
- });
783
- }
784
424
  const encoded = arrayBufferToBase64(fileBuffer);
785
425
  if (!files[key]) {
786
426
  files[key] = [];
@@ -794,14 +434,6 @@ async function serializeFormData(formData, onProgress) {
794
434
  data: encoded
795
435
  });
796
436
  }
797
- // Report 100% completion if we had files and progress callback
798
- if (onProgress && fileEntries.length > 0 && totalSize > 0) {
799
- onProgress({
800
- loaded: totalSize,
801
- total: totalSize,
802
- percentage: 100
803
- });
804
- }
805
437
  return { fields, files };
806
438
  }
807
439
  function buildSocketUrl(baseUrl, socketPath) {
@@ -829,21 +461,6 @@ function normalizePath(path) {
829
461
  }
830
462
  return path;
831
463
  }
832
- function parseQueryFromPath(path) {
833
- const qIdx = path.indexOf('?');
834
- if (qIdx === -1) {
835
- return { pathname: path, query: {} };
836
- }
837
- const pathname = path.slice(0, qIdx) || '/';
838
- const search = path.slice(qIdx + 1);
839
- const query = {};
840
- const params = new URLSearchParams(search);
841
- for (const key of params.keys()) {
842
- const values = params.getAll(key);
843
- query[key] = values.length === 1 ? values[0] : values;
844
- }
845
- return { pathname, query };
846
- }
847
464
  function normalizeQuery(query) {
848
465
  const result = {};
849
466
  for (const [key, value] of Object.entries(query)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
- {
2
- "name": "sockress-client",
3
- "version": "0.2.13",
4
- "description": "Socket-first client SDK for Sockress servers with automatic HTTP fallback and FormData serialization.",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "files": [
8
- "dist",
9
- "README.md",
10
- "LICENSE"
11
- ],
12
- "exports": {
13
- ".": {
14
- "types": "./dist/index.d.ts",
15
- "require": "./dist/index.js",
16
- "import": "./dist/index.js",
17
- "default": "./dist/index.js"
18
- }
19
- },
20
- "scripts": {
21
- "build": "tsc -p tsconfig.json",
22
- "prepublishOnly": "npm run build"
23
- },
24
- "author": {
25
- "name": "Also Coder",
26
- "email": "hello@alsocoder.com",
27
- "url": "https://alsocoder.com"
28
- },
29
- "homepage": "https://alsocoder.com",
30
- "repository": {
31
- "type": "git",
32
- "url": "https://github.com/alsocoders/sockress"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/alsocoders/sockress/issues"
36
- },
37
- "license": "PROPRIETARY",
38
- "keywords": [
39
- "sockress",
40
- "websocket",
41
- "http",
42
- "client",
43
- "upload",
44
- "realtime",
45
- "nodejs",
46
- "browser"
47
- ],
48
- "dependencies": {
49
- "nanoid": "^5.0.7"
50
- },
51
- "devDependencies": {
52
- "@types/node": "^20.14.10"
53
- }
54
- }
1
+ {
2
+ "name": "sockress-client",
3
+ "version": "0.2.15",
4
+ "description": "Socket-first client SDK for Sockress servers with automatic HTTP fallback and FormData serialization.",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "require": "./dist/index.js",
16
+ "import": "./dist/index.js",
17
+ "default": "./dist/index.js"
18
+ }
19
+ },
20
+ "scripts": {
21
+ "build": "tsc -p tsconfig.json",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "author": {
25
+ "name": "Also Coder",
26
+ "email": "hello@alsocoder.com",
27
+ "url": "https://alsocoder.com"
28
+ },
29
+ "homepage": "https://alsocoder.com",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/alsocoders/sockress"
33
+ },
34
+ "bugs": {
35
+ "url": "https://github.com/alsocoders/sockress/issues"
36
+ },
37
+ "license": "PROPRIETARY",
38
+ "keywords": [
39
+ "sockress",
40
+ "websocket",
41
+ "http",
42
+ "client",
43
+ "upload",
44
+ "realtime",
45
+ "nodejs",
46
+ "browser"
47
+ ],
48
+ "dependencies": {
49
+ "nanoid": "^5.0.7"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "^20.14.10"
53
+ }
54
+ }