function it_throws_for_bad_json_error(ResourceFetcher $fetcher)
 {
     $json = '{bad, josn}';
     json_decode($json);
     $error = json_last_error_msg();
     $response = new Response("data://text/plain,{$json}", 200, ['content-type' => 'application/hal+json']);
     $this->shouldThrow(ProcessingException::badJson($error))->duringProcess($response, $fetcher);
 }
 /** @return Resource */
 public function process(ResponseInterface $response, ResourceFetcher $fetcher)
 {
     $this->response = $response;
     $this->fetcher = $fetcher;
     $this->data = json_decode($response->getBody());
     if ($this->data === null) {
         throw ProcessingException::badJson(json_last_error_msg());
     }
     return new Resource($this->getFields(), $this->getLinks(), $this->getResources());
 }