| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -162,6 +162,28 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    keepalive: { disconnect: true }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            it('allows resetting the keepalive timer', function(done) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                this.timeout(65000);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                var mockServer = new MockServer('ws://localhost:8081');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                var socket = new WebSocket('ws://localhost:8081');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                var startTime = Date.now();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                mockServer.on('connection', function(server) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    server.on('message', function(data) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        var message = textsecure.protobuf.WebSocketMessage.decode(data);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        assert.strictEqual(message.type, textsecure.protobuf.WebSocketMessage.Type.REQUEST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        assert.strictEqual(message.request.verb, 'GET');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        assert.strictEqual(message.request.path, '/');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        assert(Date.now() > startTime + 60000, 'keepalive time should be longer than a minute');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        server.close();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        done();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                var resource = new WebSocketResource(socket, { keepalive: true });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                setTimeout(function() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    resource.resetKeepAliveTimer()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                }, 5000);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}());
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |