/** * Parse and build a rich response object from an HTTP response. * * @param ResponseInterface $response * * @return GetCategoryByIdResponse * @throws InvalidFormatException */ public function makeFromResponse(ResponseInterface $response) { $body = $this->parse($response); $factory = new CategoryMappingFactory(); $categoryResponse = new GetCategoryByIdResponse(); $categoryResponse->setInnerResponse($response); $categoryResponse->setCategoryMapping($factory->makeFromArray($body)); return $categoryResponse; }
/** * Parse category mappings. * * @param GetAsinCategoriesResponse $categoriesResponse * @param array $body */ protected function parseMappings(GetAsinCategoriesResponse $categoriesResponse, array $body) { $factory = new CategoryMappingFactory(); $categoriesResponse->setCategoryMappings(Std::map(function ($rawMapping) use($factory, $categoriesResponse) { $mapping = $factory->makeFromArray($rawMapping); if ($mapping->isMainCategory()) { $categoriesResponse->setMainCategory($mapping); } return $mapping; }, $body['categoryMappings'])); }