123456789101112131415161718192021222324252627282930 |
- /* global Strophe */
- import ConnectionPlugin from './ConnectionPlugin';
-
- /**
- * Logs raw stanzas and makes them available for download as JSON
- */
- class StropheLogger extends ConnectionPlugin {
- constructor() {
- super();
- this.log = [];
- }
-
- init(connection) {
- super.init(connection);
- this.connection.rawInput = this.logIncoming.bind(this);
- this.connection.rawOutput = this.logOutgoing.bind(this);
- }
-
- logIncoming(stanza) {
- this.log.push([ new Date().getTime(), 'incoming', stanza ]);
- }
-
- logOutgoing(stanza) {
- this.log.push([ new Date().getTime(), 'outgoing', stanza ]);
- }
- }
-
- export default function() {
- Strophe.addConnectionPlugin('logger', new StropheLogger());
- }
|