eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\UserSession::visit PHP Method

visit() public method

Visit struct returned by controllers.
public visit ( Visitor $visitor, Generator $generator, UserSession $data )
$visitor eZ\Publish\Core\REST\Common\Output\Visitor
$generator eZ\Publish\Core\REST\Common\Output\Generator
$data eZ\Publish\Core\REST\Server\Values\UserSession
    public function visit(Visitor $visitor, Generator $generator, $data)
    {
        $status = $data->created ? 201 : 200;
        $visitor->setStatus($status);
        $visitor->setHeader('Content-Type', $generator->getMediaType('Session'));
        $sessionHref = $this->router->generate('ezpublish_rest_deleteSession', array('sessionId' => $data->sessionId));
        //@todo Needs refactoring, disabling certain headers should not be done this way
        $visitor->setHeader('Accept-Patch', false);
        $generator->startObjectElement('Session');
        $generator->startAttribute('href', $sessionHref);
        $generator->endAttribute('href');
        $generator->startValueElement('name', $data->sessionName);
        $generator->endValueElement('name');
        $generator->startValueElement('identifier', $data->sessionId);
        $generator->endValueElement('identifier');
        $generator->startValueElement('csrfToken', $data->csrfToken);
        $generator->endValueElement('csrfToken');
        $generator->startObjectElement('User', 'User');
        $generator->startAttribute('href', $this->router->generate('ezpublish_rest_loadUser', array('userId' => $data->user->id)));
        $generator->endAttribute('href');
        $generator->endObjectElement('User');
        $generator->endObjectElement('Session');
    }
UserSession