2017-02-20 7 views
0

무언가가 잘못되었을 때 http 500으로 응답하는 API에 Remote::get 요청을 보내고 있습니다. 문제는 응답 텍스트에 무엇이 잘못되었는지에 대한 자세한 설명으로 {errorCode: x}을 제공한다는 것입니다. 일부 오류 코드에서 다른 조치를 취할 필요가 있습니다.Kohana Remote :: get을 사용하면 HTTP 500에서 예외가 발생하지만 응답 텍스트가 필요합니다.

내 문제는 Kohana가 http 500 응답에 예외를 throw하여 예외 객체의 "단어가있는"오류 메시지로 쉽게 구문 분석 할 수있는 응답 텍스트를 작성한다는 것입니다.

오랜 오류 설명을 구문 분석하지 않고도 http 500 응답에 Remote::get의 응답 텍스트를 얻는 방법이 있습니까?

답변

1

불가능합니다. 많은

public function __construct($message, array $variables = NULL, $code = 0) 
{ 
    // Set the message 
    $message = __($message, $variables); 

    // Pass the message to the parent 
    parent::__construct($message, $code); 
} 

은 그래서 하나의 메시지에 모든 것을 혼합 도움이되지 않습니다 source code

if ($code AND $code < 200 OR $code > 299) 
{ 
    $error = $response; 
} 

... 

if (isset($error)) 
{ 
    throw new Kohana_Exception('Error fetching remote :url [ status :code ] :error', 
      array(':url' => $url, ':code' => $code, ':error' => $error)); 
} 

Kohana_Exception에서 살펴 보자.

다른 HTTP 클라이언트를 사용하는 것은 어떻습니까? 예를 들어, Guzzle - retrieve the body on error이 더 쉽습니다.