Example #1
0
 public function getResponse()
 {
     $this->serviceManager->get('log')->info('Build Response');
     $response = new ZendResponse();
     switch ($this->baseXMSResponse->queryToValue('//code')) {
         case 200:
             $requestHandler = \BaseXMS\RequestHandler\Factory::factory($this->baseXMSResponse, $this);
             // override response
             $response = $requestHandler->getResponse();
             break;
         case 301:
             if (true) {
                 $response->setContent('Redirect to <a href="' . (string) $this->baseXMSResponse->path . '">' . (string) $this->baseXMSResponse->path . '</a>');
                 $response->setStatusCode(200);
             } else {
                 $response->setContent('Redirect');
                 $response->setStatusCode(301);
                 $headers = Headers::fromString('Location: ' . (string) $this->baseXMSResponse->path);
                 $response->setHeaders($headers);
             }
             break;
         case 500:
             $response->setContent('500 - Server Error.');
             $response->setStatusCode((string) $this->baseXMSResponse->code);
             break;
         case 400:
             $response->setContent('404 - Not found.');
             $response->setStatusCode((string) $this->baseXMSResponse->code);
             break;
         default:
             $response->setContent('Unhandled return code.');
             $response->setStatusCode(500);
     }
     $response->setReasonPhrase($response->getReasonPhrase());
     // set default phrase
     $this->serviceManager->get('accumulator')->start('BaseXMS', BASEXMS_START);
     $this->serviceManager->get('accumulator')->stop('BaseXMS');
     return $response;
 }