getRealm() 공개 메소드

Get Realm by realm name
public getRealm ( string $realmName ) : Realm
$realmName string
리턴 Realm
예제 #1
0
파일: Router.php 프로젝트: pacho104/redbpim
 /**
  * Handle transport recived message
  *
  * @param \Thruway\Transport\TransportInterface $transport
  * @param \Thruway\Message\Message $msg
  * @return void
  */
 public function onMessage(TransportInterface $transport, Message $msg)
 {
     /* @var $session \Thruway\Session */
     $session = $this->sessions[$transport];
     // see if the session is in a realm
     if ($session->getRealm() === null) {
         if ($msg instanceof AbortMessage) {
             $session->shutdown();
             return;
         }
         // hopefully this is a HelloMessage or we have no place for this message to go
         if ($msg instanceof HelloMessage) {
             try {
                 $realm = $this->realmManager->getRealm($msg->getRealm());
                 $realm->onMessage($session, $msg);
             } catch (\Exception $e) {
                 // TODO: Test this
                 $errorUri = "wamp.error.unknown";
                 $description = $e->getMessage();
                 if ($e instanceof InvalidRealmNameException || $e instanceof RealmNotFoundException) {
                     $errorUri = "wamp.error.no_such_realm";
                 }
                 $session->abort(['description' => $description], $errorUri);
             }
         } else {
             $session->abort(new \stdClass(), "wamp.error.unknown");
         }
     } else {
         $realm = $session->getRealm();
         $realm->onMessage($session, $msg);
     }
 }
예제 #2
0
 public function onMessage(TransportInterface $transport, Message $msg)
 {
     /** @var $session Session */
     $session = $this->sessions[$transport];
     // see if the session is in a realm
     if ($session->getRealm() === null) {
         // hopefully this is a HelloMessage or we have no place for this message to go
         if ($msg instanceof HelloMessage) {
             if (RealmManager::validRealmName($msg->getRealm())) {
                 $realm = $this->realmManager->getRealm($msg->getRealm());
                 $realm->onMessage($session, $msg);
             } else {
                 // TODO send bad realm error back and shutdown
                 $session->shutdown();
             }
         } else {
             $session->shutdown();
         }
     } else {
         $realm = $session->getRealm();
         $realm->onMessage($session, $msg);
     }
 }