update changelog

fix package name in README
This commit is contained in:
afrokick 2020-03-19 23:35:59 +03:00
parent f3bb222609
commit 813f7aaec8
6 changed files with 41 additions and 26 deletions

View File

@ -37,11 +37,11 @@ $> peerjs --port 9000 --key peerjs --path /myapp
Or, create a custom server: Or, create a custom server:
```bash ```bash
$> npm install peerjs-server $> npm install peer
``` ```
```javascript ```javascript
import {PeerServer} from 'peerjs-server'; import {PeerServer} from 'peer';
const server = PeerServer({port: 9000, path: '/myapp'}); const server = PeerServer({port: 9000, path: '/myapp'});
``` ```
@ -60,7 +60,7 @@ const server = PeerServer({port: 9000, path: '/myapp'});
```javascript ```javascript
import fs from 'fs'; import fs from 'fs';
import {PeerServer} from 'peerjs-server'; import {PeerServer} from 'peer';
const server = PeerServer({ const server = PeerServer({
port: 9000, port: 9000,
@ -79,41 +79,47 @@ The option is passed verbatim to the
if it is truthy. if it is truthy.
```javascript ```javascript
import {PeerServer} from 'peerjs-server'; import {PeerServer} from 'peer';
const server = PeerServer({port: 9000, path: '/myapp', proxied: true}); const server = PeerServer({
port: 9000,
path:
'/myapp',
proxied: true
});
``` ```
### Custom client ID generation ### Custom client ID generation
By default, PeerServer uses `uuid/v4` package to generate random client IDs.
You can specify a custom function to use to generate client IDs. You can set `generateClientId` option in config to specify a custom function to generate client IDs.
```javascript ```javascript
const genRandomId = () => { const customGenerationFunction = () => (Math.random().toString(36) + '0000000000000000000').substr(2, 16);
// Original generation algorithm
return (Math.random().toString(36) + '0000000000000000000').substr(2, 16);
}
const server = PeerServer({port: 9000, path: '/myapp', proxied: true, genRandomId: genRandomId }); const server = PeerServer({
port: 9000,
path: '/myapp',
generateClientId: customGenerationFunction
});
``` ```
### Combining with existing express app ### Combining with existing express app
```javascript ```javascript
import express from 'express'; import express from 'express';
import {ExpressPeerServer} from 'peerjs-server'; import {ExpressPeerServer} from 'peer';
const app = express(); const app = express();
app.get('/', (req, res, next) => { res.send('Hello world!'); }); app.get('/', (req, res, next) => res.send('Hello world!'));
// ======= // =======
const server = app.listen(9000); const server = app.listen(9000);
const options = { const options = {
debug: true, debug: true,
path: '/peerjs' path: '/peerjs'
} }
const peerserver = ExpressPeerServer(server, options); const peerserver = ExpressPeerServer(server, options);

View File

@ -1,5 +1,13 @@
# PeerServer Changelog # PeerServer Changelog
### 0.4.0
* New: Allow passing in custom client ID generation function - #157 Thanks @ajmar
### 0.3.2
* Fixed: fix main field in package.json
### 0.3.1 ### 0.3.1
* Fixed: no expire message in some cases * Fixed: no expire message in some cases

8
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "peer", "name": "peer",
"version": "0.3.1", "version": "0.3.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -3754,9 +3754,9 @@
}, },
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true "dev": true
} }
} }

View File

@ -10,7 +10,7 @@ export default ({ config, realm }: {
// Retrieve guaranteed random ID. // Retrieve guaranteed random ID.
app.get("/id", (_, res: express.Response) => { app.get("/id", (_, res: express.Response) => {
res.contentType("html"); res.contentType("html");
res.send(realm.generateClientId(config.genRandomId)); res.send(realm.generateClientId(config.generateClientId));
}); });
// Get a list of all peers for a key, enabled by the `allowDiscovery` flag. // Get a list of all peers for a key, enabled by the `allowDiscovery` flag.

View File

@ -12,6 +12,7 @@ export interface IConfig {
key: string; key: string;
cert: string; cert: string;
}; };
readonly generateClientId?: () => string;
} }
const defaultConfig: IConfig = { const defaultConfig: IConfig = {

View File

@ -20,7 +20,7 @@ export interface IRealm {
clearMessageQueue(id: string): void; clearMessageQueue(id: string): void;
generateClientId(genRandomId?: () => string): string; generateClientId(generateClientId?: () => string): string;
} }
export class Realm implements IRealm { export class Realm implements IRealm {
@ -69,14 +69,14 @@ export class Realm implements IRealm {
this.messageQueues.delete(id); this.messageQueues.delete(id);
} }
public generateClientId(genRandomId?: () => string): string { public generateClientId(generateClientId?: () => string): string {
const _genRandomId = genRandomId ? genRandomId : uuidv4; const generateId = generateClientId ? generateClientId : uuidv4;
let clientId = _genRandomId(); let clientId = generateId();
while (this.getClientById(clientId)) { while (this.getClientById(clientId)) {
clientId = _genRandomId(); clientId = generateId();
} }
return clientId; return clientId;