/** * Create response object. * * Use current API type to define proper response class. * * @return Mage_Webapi_Controller_Response * @throws LogicException If there is no corresponding response class for current API type. */ public function get() { $apiType = $this->_apiFrontController->determineApiType(); if (!isset($this->_apiResponseMap[$apiType])) { throw new LogicException(sprintf('There is no corresponding response class for the "%s" API type.', $apiType)); } $requestClass = $this->_apiResponseMap[$apiType]; return $this->_objectManager->get($requestClass); }
public function testDeterminateApiTypeApiIsSet() { $this->_createMockForApiRouteAndFactory(array('api_type' => Mage_Webapi_Controller_Front::API_TYPE_SOAP)); /** Assert createRoute method will be executed only once */ $this->_routeFactoryMock->expects($this->once())->method('createRoute'); /** The first method call will set apiType property using createRoute method. */ $this->_frontControllerMock->determineApiType(); /** The second method call should use set apiType and should not trigger createRoute method. */ $this->_frontControllerMock->determineApiType(); }