33 lines
879 B
PHP
33 lines
879 B
PHP
<?php
|
|
|
|
/**
|
|
* Copyright (C) 2014-2022 Textalk/Abicart and contributors.
|
|
*
|
|
* This file is part of Websocket PHP and is free software under the ISC License.
|
|
* License text: https://raw.githubusercontent.com/Textalk/websocket-php/master/COPYING
|
|
*/
|
|
|
|
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");
|
|
}
|
|
}
|