[ { "function": "stream_context_create", "params": [], "return": "@mock-stream-context" }, { "function": "stream_socket_client", "params": [ "tcp:\/\/localhost:8000", null, null, 5, 5, "@mock-stream-context" ], "return": "@mock-stream" }, { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "persistent stream" }, { "function": "get_resource_type", "params": [ "@mock-stream" ], "return": "persistent stream" }, { "function": "stream_set_timeout", "params": [ "@mock-stream", 5 ], "return": true }, { "function": "fwrite", "params": [ "@mock-stream" ], "return-op": "key-save", "return": 248 }, { "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": "fwrite", "params": [ "@mock-stream" ], "return": 13 } ]