diff options
Diffstat (limited to '')
-rw-r--r-- | vendor/textalk/websocket/lib/Message/Factory.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/textalk/websocket/lib/Message/Factory.php b/vendor/textalk/websocket/lib/Message/Factory.php new file mode 100644 index 0000000..31df89c --- /dev/null +++ b/vendor/textalk/websocket/lib/Message/Factory.php @@ -0,0 +1,25 @@ +<?php + +namespace WebSocket\Message; + +use WebSocket\BadOpcodeException; + +class Factory +{ + public function create(string $opcode, string $payload = ''): Message + { + switch ($opcode) { + case 'text': + return new Text($payload); + case 'binary': + return new Binary($payload); + case 'ping': + return new Ping($payload); + case 'pong': + return new Pong($payload); + case 'close': + return new Close($payload); + } + throw new BadOpcodeException("Invalid opcode '{$opcode}' provided"); + } +} |