33namespace CodebarAg \Zammad \Classes ;
44
55use CodebarAg \Zammad \Events \ZammadResponseLog ;
6- use Illuminate \Http \Client \Response ;
7- use Illuminate \Support \Facades \Http ;
6+ use CodebarAg \Zammad \ZammadConnector ;
87use Illuminate \Support \Str ;
8+ use Saloon \Exceptions \Request \RequestException ;
9+ use Saloon \Http \Request ;
10+ use Saloon \Http \Response ;
11+ use Throwable ;
912
1013abstract class RequestClass
1114{
@@ -17,65 +20,46 @@ abstract class RequestClass
1720
1821 protected $ objectHasReferenceError ;
1922
23+ protected $ connector ;
24+
2025 public function __construct ()
2126 {
2227 $ this ->httpRetryMaxium = config ('zammad.http_retry_maximum ' );
2328 $ this ->httpRetryDelay = config ('zammad.http_retry_delay ' );
2429
2530 $ this ->ignoreReferenceErrorIngore = config ('zammad.object_reference_error_ignore ' );
2631 $ this ->objectHasReferenceError = config ('zammad.objet_reference_error ' );
27- }
2832
29- /**
30- * @throws \Illuminate\Http\Client\RequestException
31- */
32- public function getRequest ($ url ): Response
33- {
34- $ response = Http::withToken (config ('zammad.token ' ))
35- ->retry ($ this ->httpRetryMaxium , $ this ->httpRetryDelay )
36- ->get ($ url );
37-
38- event (new ZammadResponseLog ($ response ));
39-
40- return $ response ->throw ();
33+ $ this ->connector = new ZammadConnector ();
4134 }
4235
43- /**
44- * @throws \Illuminate\Http\Client\RequestException
45- */
46- public function postRequest ($ url , $ data = null ): Response
36+ private function performRequest (Request $ request ): Response
4737 {
48- $ response = Http::withToken (config ('zammad.token ' ))
49- ->retry ($ this ->httpRetryMaxium , $ this ->httpRetryDelay )
50- ->post ($ url , $ data );
51-
52- event (new ZammadResponseLog ($ response ));
53-
54- return $ response ->throw ();
38+ return $ this ->connector ->sendAndRetry (
39+ $ request ,
40+ $ this ->httpRetryMaxium ,
41+ $ this ->httpRetryDelay ,
42+ );
5543 }
5644
5745 /**
58- * @throws \Illuminate\Http\Client\ RequestException
46+ * @throws RequestException|Throwable
5947 */
60- public function putRequest ( $ url , $ data ): Response
48+ public function request ( Request $ request ): Response
6149 {
62- $ response = Http::withToken (config ('zammad.token ' ))
63- ->retry ($ this ->httpRetryMaxium , $ this ->httpRetryDelay )
64- ->put ($ url , $ data );
50+ $ response = $ this ->performRequest ($ request );
6551
6652 event (new ZammadResponseLog ($ response ));
6753
68- return $ response-> throw () ;
54+ return $ response ;
6955 }
7056
7157 /**
72- * @throws \Illuminate\Http\Client\ RequestException
58+ * @throws RequestException|Throwable
7359 */
74- public function deleteRequest ($ url ): Response
60+ public function deleteRequest (Request $ request ): Response
7561 {
76- $ response = Http::withToken (config ('zammad.token ' ))
77- //->retry($this->httpRetryMaxium, $this->httpRetryDelay)
78- ->delete ($ url );
62+ $ response = $ this ->performRequest ($ request );
7963
8064 $ ignoreReferenceError = [
8165 'ignore ' => $ this ->ignoreReferenceErrorIngore ? true : false ,
0 commit comments