1111use Qdrant \Endpoints \Collections ;
1212use Qdrant \Endpoints \Service ;
1313use Qdrant \Endpoints \Snapshots ;
14+ use Qdrant \Exception \InvalidArgumentException ;
15+ use Qdrant \Exception \ServerException ;
1416use Qdrant \Http \Transport ;
1517
1618class Qdrant implements ClientInterface
@@ -41,22 +43,22 @@ public function service(): Service
4143
4244 public function execute (RequestInterface $ request ): Response
4345 {
44- try {
45- $ res = $ this ->transport ->sendRequest ($ request );
46-
47- return new Response ($ res );
48- } catch (RequestExceptionInterface $ e ) {
49- var_dump ('RequestException ' , $ e ->getMessage (), $ request ); exit ();
50- /*$statusCode = $e->getResponse()->getStatusCode();
51- if ($statusCode >= 400 && $statusCode < 500) {
52- $errorResponse = new Response($e->getResponse());
53- throw (new InvalidArgumentException($e->getMessage(), $statusCode))
54- ->setResponse($errorResponse);
55- } elseif ($statusCode >= 500) {
56- $errorResponse = new Response($e->getResponse());
57- throw (new ServerException($e->getMessage(), $statusCode))
58- ->setResponse($errorResponse);
59- }*/
46+ $ res = $ this ->transport ->sendRequest ($ request );
47+ $ statusCode = $ res ->getStatusCode ();
48+ if ($ statusCode >= 400 && $ statusCode < 500 ) {
49+ $ errorResponse = new Response ($ res );
50+ throw (new InvalidArgumentException (
51+ $ errorResponse ['status ' ]['error ' ] ?? 'Invalid Argument Exception ' ,
52+ $ statusCode )
53+ )->setResponse ($ errorResponse );
54+ } elseif ($ statusCode >= 500 ) {
55+ $ errorResponse = new Response ($ res );
56+ throw (new ServerException (
57+ $ errorResponse ['status ' ]['error ' ] ?? '500 Interval Service Error ' ,
58+ $ statusCode )
59+ )->setResponse ($ errorResponse );
6060 }
61+
62+ return new Response ($ res );
6163 }
6264}
0 commit comments