spooder 6.1.93 → 6.1.94

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.
Files changed (3) hide show
  1. package/README.md +12 -1
  2. package/package.json +1 -1
  3. package/src/api.ts +6 -1
package/README.md CHANGED
@@ -599,6 +599,7 @@ log_list(input: any[], delimiter = ', ');
599
599
 
600
600
  // http
601
601
  http_serve(port: number, hostname?: string): Server;
602
+ server.port: number;
602
603
  server.stop(immediate: boolean): Promise<void>;
603
604
 
604
605
  // cookies
@@ -840,13 +841,14 @@ IPC_TARGET.BROADCAST; // broadcast to all other instances
840
841
  ## API > HTTP
841
842
 
842
843
  ### `http_serve(port: number, hostname?: string): Server`
843
- Bootstrap a server on the specified port (and optional hostname).
844
+ Bootstrap a server on the specified port (and optional hostname). Pass `0` for the port to assign a random available port, which can then be retrieved via `server.port`.
844
845
 
845
846
  ```ts
846
847
  import { serve } from 'spooder';
847
848
 
848
849
  const server = http_serve(8080); // port only
849
850
  const server = http_serve(3000, '0.0.0.0'); // optional hostname
851
+ const server = http_serve(0); // random port, retrieve via server.port
850
852
  ```
851
853
 
852
854
  By default, the server responds with:
@@ -879,6 +881,15 @@ await server.stop(false);
879
881
  // do something now all connections are done
880
882
  ```
881
883
 
884
+ ### 📖 `server.port`
885
+
886
+ Returns the port the server is listening on. Useful when `0` is passed to `http_serve()` for a random port assignment.
887
+
888
+ ```ts
889
+ const server = http_serve(0);
890
+ console.log(`Server listening on port ${server.port}`);
891
+ ```
892
+
882
893
  ### Routing
883
894
 
884
895
  ### 🔧 `server.route(path: string, handler: RequestHandler)`
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "spooder",
3
3
  "author": "Kruithne <kruithne@gmail.com>",
4
4
  "type": "module",
5
- "version": "6.1.93",
5
+ "version": "6.1.94",
6
6
  "module": "./src/api.ts",
7
7
  "repository": {
8
8
  "url": "https://github.com/Kruithne/spooder"
package/src/api.ts CHANGED
@@ -1817,7 +1817,7 @@ export function http_serve(port: number, hostname?: string) {
1817
1817
  }
1818
1818
  });
1819
1819
 
1820
- log_spooder(`server started on port {${port}} (host: {${hostname ?? 'unspecified'}})`);
1820
+ log_spooder(`server started on port {${server.port}} (host: {${hostname ?? 'unspecified'}})`);
1821
1821
 
1822
1822
  type ThrottleHandler = {
1823
1823
  (delta: number, handler: JSONRequestHandler): JSONRequestHandler;
@@ -2179,6 +2179,11 @@ export function http_serve(port: number, hostname?: string) {
2179
2179
  return http_apply_range(file, request);
2180
2180
  });
2181
2181
  }
2182
+ },
2183
+
2184
+ /** The port the server is listening on. Useful when port 0 is passed to assign a random port. */
2185
+ get port(): number {
2186
+ return server.port!;
2182
2187
  }
2183
2188
  };
2184
2189
  }