mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
implement a model of WebSocket and ws based on the EventEmitter model
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
(function () {
|
||||
const socket = new WebSocket('ws://localhost:8080');
|
||||
|
||||
socket.addEventListener('open', function (event) {
|
||||
socket.send('Hi from browser!');
|
||||
});
|
||||
|
||||
socket.addEventListener('message', function (event) {
|
||||
console.log('Message from server ', event.data);
|
||||
});
|
||||
|
||||
socket.onmessage = function(event) {
|
||||
console.log("Message from server 2", event.data)
|
||||
};
|
||||
})();
|
||||
@@ -0,0 +1,13 @@
|
||||
(function () {
|
||||
const WebSocket = require('ws');
|
||||
|
||||
const ws = new WebSocket('ws://example.org');
|
||||
|
||||
ws.on('open', function open() {
|
||||
ws.send('Hi from client!');
|
||||
});
|
||||
|
||||
ws.on('message', function incoming(data) {
|
||||
console.log(data);
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,13 @@
|
||||
(function () {
|
||||
const WebSocket = require('ws');
|
||||
|
||||
const wss = new WebSocket.Server({ port: 8080 });
|
||||
|
||||
wss.on('connection', function connection(ws) {
|
||||
ws.on('message', function incoming(message) {
|
||||
console.log('received: %s', message);
|
||||
});
|
||||
|
||||
ws.send('Hi from server!');
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,22 @@
|
||||
clientSocket
|
||||
| browser.js:2:17:2:52 | new Web ... :8080') |
|
||||
| client.js:4:13:4:45 | new Web ... e.org') |
|
||||
clientSend
|
||||
| browser.js:5:6:5:36 | socket. ... wser!') |
|
||||
| client.js:7:5:7:30 | ws.send ... ient!') |
|
||||
clientReceive
|
||||
| browser.js:8:37:10:2 | functio ... ta);\\n\\t} |
|
||||
| browser.js:12:21:14:5 | functio ... )\\n } |
|
||||
| client.js:10:19:12:2 | functio ... ta);\\n\\t} |
|
||||
serverSocket
|
||||
| server.js:6:43:6:44 | ws |
|
||||
serverSend
|
||||
| server.js:11:5:11:30 | ws.send ... rver!') |
|
||||
serverReceive
|
||||
| server.js:7:5:9:6 | ws.on(' ... \\n \\t\\t}) |
|
||||
taintStep
|
||||
| browser.js:5:18:5:35 | 'Hi from browser!' | server.js:7:40:7:46 | message |
|
||||
| client.js:7:13:7:29 | 'Hi from client!' | server.js:7:40:7:46 | message |
|
||||
| server.js:11:13:11:29 | 'Hi from server!' | browser.js:9:42:9:51 | event.data |
|
||||
| server.js:11:13:11:29 | 'Hi from server!' | browser.js:13:44:13:53 | event.data |
|
||||
| server.js:11:13:11:29 | 'Hi from server!' | client.js:10:37:10:40 | data |
|
||||
@@ -0,0 +1,17 @@
|
||||
import javascript
|
||||
|
||||
query ClientWebSocket::ClientSocket clientSocket() { any() }
|
||||
|
||||
query ClientWebSocket::SendNode clientSend() { any() }
|
||||
|
||||
query ClientWebSocket::ReceiveNode clientReceive() { any() }
|
||||
|
||||
query ServerWebSocket::ServerSocket serverSocket() { any() }
|
||||
|
||||
query ServerWebSocket::SendNode serverSend() { any() }
|
||||
|
||||
query ServerWebSocket::ReceiveNode serverReceive() { any() }
|
||||
|
||||
query predicate taintStep(DataFlow::Node pred, DataFlow::Node succ) {
|
||||
any(DataFlow::AdditionalFlowStep s).step(pred, succ)
|
||||
}
|
||||
Reference in New Issue
Block a user