[ { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "Unknown" }, { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "stream" }, { "function": "stream_context_create", "params": [], "return": "@mock-stream-context" }, { "function": "stream_socket_client", "params": [ "tcp:\/\/localhost:8000", null, null, 5, 4, "@mock-stream-context" ], "return": "@mock-stream" }, { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "stream" }, { "function": "stream_set_timeout", "params": [ "@mock-stream", 5 ], "return": true }, { "function": "fwrite", "params": [ "@mock-stream" ], "return-op": "key-save", "return": 199 }, { "function": "stream_get_line", "params": [ "@mock-stream", 1024, "\r\n\r\n" ], "return-op": "key-respond", "return": "HTTP\/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: {key}" }, { "function": "fread", "params": [ "@mock-stream", 2 ], "return-op": "chr-array", "return": [129, 147] }, { "function": "fread", "params": [ "@mock-stream", 4 ], "return-op": "chr-array", "return": [33, 111, 149, 174] }, { "function": "fread", "params": [ "@mock-stream", 19 ], "return-op": "chr-array", "return": [115, 10, 246, 203, 72, 25, 252, 192, 70, 79, 244, 142, 76, 10, 230, 221, 64, 8, 240] }, { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "stream" } ]