1212use Ctct \Util \Config ;
1313use Ctct \Components \Contacts \ContactList ;
1414use GuzzleHttp \Exception \ClientException ;
15- use GuzzleHttp \Message \ Response ;
16- use GuzzleHttp \Stream \ Stream ;
15+ use GuzzleHttp \Exception \ TransferException ;
16+ use GuzzleHttp \Psr7 ;
1717
1818/**
1919 * Performs all actions pertaining to Constant Contact EventSpot Events
@@ -37,7 +37,7 @@ public function getEvents($accessToken, Array $params = array())
3737 {
3838 $ baseUrl = Config::get ('endpoints.base_url ' ) . Config::get ('endpoints.events ' );
3939
40- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
40+ $ request = parent ::sendRequestWithoutBody ($ accessToken , 'GET ' , $ baseUrl );
4141 if ($ params ) {
4242 $ query = $ request ->getQuery ();
4343 foreach ($ params as $ name => $ value ) {
@@ -52,7 +52,7 @@ public function getEvents($accessToken, Array $params = array())
5252 throw parent ::convertException ($ e );
5353 }
5454
55- $ body = $ response ->json ( );
55+ $ body = json_decode ( $ response ->getBody (), true );
5656
5757 $ events = array ();
5858 if ( ! empty ( $ body ['results ' ] ) ) {
@@ -74,60 +74,51 @@ public function getEvents($accessToken, Array $params = array())
7474 public function addEvent ($ accessToken , EventSpot $ event )
7575 {
7676 $ baseUrl = Config::get ('endpoints.base_url ' ) . Config::get ('endpoints.events ' );
77-
78- $ request = parent ::createBaseRequest ($ accessToken , 'POST ' , $ baseUrl );
79- $ stream = Stream::factory (json_encode ($ event ));
80- $ request ->setBody ($ stream );
77+ $ request = parent ::sendRequestWithBody ($ accessToken , 'POST ' , $ baseUrl , $ event );
8178
8279 try {
8380 $ response = parent ::getClient ()->send ($ request );
8481 } catch (ClientException $ e ) {
8582 throw parent ::convertException ($ e );
8683 }
8784
88- return EventSpot::create ($ response ->json ( ));
85+ return EventSpot::create (json_decode ( $ response ->getBody (), true ));
8986 }
9087
9188 /**
92- * Update a Contact List
89+ * Update an EventSpot Event
9390 * @param string $accessToken Constant Contact OAuth2 access token
94- * @param ContactList $event - ContactList to be updated
95- * @return ContactList
91+ * @param EventSpot $event - EventSpot to be updated
92+ * @return EventSpot
9693 * @throws CtctException
9794 */
9895 public function updateEvent ($ accessToken , EventSpot $ event )
9996 {
10097 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf (Config::get ('endpoints.event ' ), $ event ->id );
10198
102- $ request = parent ::createBaseRequest ($ accessToken , 'PUT ' , $ baseUrl );
103- $ stream = Stream::factory (json_encode ($ event ));
104- $ request ->setBody ($ stream );
105-
10699 try {
107- $ response = parent ::getClient ()-> send ( $ request );
108- } catch (ClientException $ e ) {
100+ $ response = parent ::sendRequestWithBody ( $ accessToken , ' PUT ' , $ baseUrl , $ event );
101+ } catch (TransferException $ e ) {
109102 throw parent ::convertException ($ e );
110103 }
111104
112- return EventSpot::create ($ response ->json ( ));
105+ return EventSpot::create (json_decode ( $ response ->getBody (), true ));
113106 }
114107
115108 /**
116109 * Delete an Event
117110 * @param string $accessToken Constant Contact OAuth2 access token
118- * @param $eventId - event id
111+ * @param string|int $eventId - event id
119112 * @return boolean
120113 * @throws CtctException
121114 */
122115 public function deleteEvent ($ accessToken , $ eventId )
123116 {
124117 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf (Config::get ('endpoints.event ' ), $ eventId );
125118
126- $ request = parent ::createBaseRequest ($ accessToken , 'DELETE ' , $ baseUrl );
127-
128119 try {
129- $ response = parent ::getClient ()-> send ( $ request );
130- } catch (ClientException $ e ) {
120+ $ response = parent ::sendRequestWithoutBody ( $ accessToken , ' DELETE ' , $ baseUrl );
121+ } catch (TransferException $ e ) {
131122 throw parent ::convertException ($ e );
132123 }
133124
@@ -145,15 +136,13 @@ public function getEvent($accessToken, $eventId)
145136 {
146137 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf (Config::get ('endpoints.event ' ), $ eventId );
147138
148- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
149-
150139 try {
151- $ response = parent ::getClient ()-> send ( $ request );
152- } catch (ClientException $ e ) {
140+ $ response = parent ::sendRequestWithoutBody ( $ accessToken , ' GET ' , $ baseUrl );
141+ } catch (TransferException $ e ) {
153142 throw parent ::convertException ($ e );
154143 }
155144
156- $ event_array = $ response ->json ( );
145+ $ event_array = json_decode ( $ response ->getBody (), true );
157146 $ event_array ['id ' ] = $ eventId ;
158147
159148 return EventSpot::create ($ event_array );
@@ -173,22 +162,13 @@ public function getRegistrants($accessToken, $eventId, Array $params = array())
173162 {
174163 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_registrants ' ), $ eventId );
175164
176- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
177- if ($ params ) {
178- $ query = $ request ->getQuery ();
179- foreach ($ params as $ name => $ value ) {
180- $ query ->add ($ name , $ value );
181- }
182- }
183-
184165 try {
185- /** @var \GuzzleHttp\Message\Response $response */
186- $ response = parent ::getClient ()->send ($ request );
187- } catch (ClientException $ e ) {
166+ $ response = parent ::sendRequestWithoutBody ($ accessToken , 'GET ' , $ baseUrl , $ params );
167+ } catch (TransferException $ e ) {
188168 throw parent ::convertException ($ e );
189169 }
190170
191- $ body = $ response ->json ( );
171+ $ body = json_decode ( $ response ->getBody (), true );
192172 $ registrants = array ();
193173 foreach ($ body ['results ' ] as $ registrant ) {
194174 $ registrants [] = Registrant::create ($ registrant );
@@ -209,15 +189,13 @@ public function getRegistrant($accessToken, $eventId, $registrantId )
209189 {
210190 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_registrant ' ), $ eventId , $ registrantId );
211191
212- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
213-
214192 try {
215- $ response = parent ::getClient ()-> send ( $ request );
216- } catch (ClientException $ e ) {
193+ $ response = parent ::sendRequestWithoutBody ( $ accessToken , ' GET ' , $ baseUrl );
194+ } catch (TransferException $ e ) {
217195 throw parent ::convertException ($ e );
218196 }
219197
220- return Registrant::create ($ response ->json ( ));
198+ return Registrant::create (json_decode ( $ response ->getBody (), true ));
221199 }
222200
223201 /**
@@ -232,17 +210,13 @@ public function addFee($accessToken, $eventId, $eventFee )
232210 {
233211 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_fees ' ), $ eventId );
234212
235- $ request = parent ::createBaseRequest ($ accessToken , 'POST ' , $ baseUrl );
236- $ stream = Stream::factory (json_encode ($ eventFee ));
237- $ request ->setBody ($ stream );
238-
239213 try {
240- $ response = parent ::getClient ()-> send ( $ request );
241- } catch (ClientException $ e ) {
214+ $ response = parent ::sendRequestWithBody ( $ accessToken , ' POST ' , $ baseUrl , $ eventFee );
215+ } catch (TransferException $ e ) {
242216 throw parent ::convertException ($ e );
243217 }
244218
245- return EventFee::create ($ response ->json ( ));
219+ return EventFee::create (json_decode ( $ response ->getBody (), true ));
246220 }
247221
248222 /**
@@ -256,16 +230,13 @@ public function getFees($accessToken, $eventId )
256230 {
257231 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_fees ' ), $ eventId );
258232
259- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
260-
261233 try {
262- /** @var \GuzzleHttp\Message\Response $response */
263- $ response = parent ::getClient ()->send ($ request );
264- } catch (ClientException $ e ) {
234+ $ response = parent ::sendRequestWithoutBody ($ accessToken , 'GET ' , $ baseUrl );
235+ } catch (TransferException $ e ) {
265236 throw parent ::convertException ($ e );
266237 }
267238
268- $ body = $ response ->json ( );
239+ $ body = json_decode ( $ response ->getBody (), true );
269240 $ fees = array ();
270241 foreach ($ body ['results ' ] as $ fee ) {
271242 $ fees [] = EventFee::create ($ fee );
@@ -286,15 +257,13 @@ public function getFee($accessToken, $eventId, $feeId)
286257 {
287258 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf (Config::get ('endpoints.event_fee ' ), $ eventId , $ feeId );
288259
289- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
290-
291260 try {
292- $ response = parent ::getClient ()-> send ( $ request );
293- } catch (ClientException $ e ) {
261+ $ response = parent ::sendRequestWithoutBody ( $ accessToken , ' GET ' , $ baseUrl );
262+ } catch (TransferException $ e ) {
294263 throw parent ::convertException ($ e );
295264 }
296265
297- return EventFee::create ($ response ->json ( ));
266+ return EventFee::create (json_decode ( $ response ->getBody (), true ));
298267 }
299268
300269 /**
@@ -309,17 +278,13 @@ public function addPromocode($accessToken, $eventId, $promoCode )
309278 {
310279 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_promocodes ' ), $ eventId );
311280
312- $ request = parent ::createBaseRequest ($ accessToken , 'POST ' , $ baseUrl );
313- $ stream = Stream::factory (json_encode ($ promoCode ));
314- $ request ->setBody ($ stream );
315-
316281 try {
317- $ response = parent ::getClient ()-> send ( $ request );
318- } catch (ClientException $ e ) {
282+ $ response = parent ::sendRequestWithBody ( $ accessToken , ' POST ' , $ baseUrl , $ promoCode );
283+ } catch (TransferException $ e ) {
319284 throw parent ::convertException ($ e );
320285 }
321286
322- return Promocode::create ($ response ->json ( ));
287+ return Promocode::create (json_decode ( $ response ->getBody (), true ));
323288 }
324289
325290 /**
@@ -333,16 +298,13 @@ public function getPromocodes($accessToken, $eventId )
333298 {
334299 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf ( Config::get ('endpoints.event_promocodes ' ), $ eventId );
335300
336- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
337-
338301 try {
339- /** @var \GuzzleHttp\Message\Response $response */
340- $ response = parent ::getClient ()->send ($ request );
341- } catch (ClientException $ e ) {
302+ $ response = parent ::sendRequestWithoutBody ($ accessToken , 'GET ' , $ baseUrl );
303+ } catch (TransferException $ e ) {
342304 throw parent ::convertException ($ e );
343305 }
344306
345- $ body = $ response ->json ( );
307+ $ body = json_decode ( $ response ->getBody (), true );
346308 $ promocodes = array ();
347309 foreach ($ body ['results ' ] as $ promocode ) {
348310 $ promocodes [] = Promocode::create ($ promocode );
@@ -363,15 +325,13 @@ public function getPromocode($accessToken, $eventId, $promocodeId)
363325 {
364326 $ baseUrl = Config::get ('endpoints.base_url ' ) . sprintf (Config::get ('endpoints.event_promocode ' ), $ eventId , $ promocodeId );
365327
366- $ request = parent ::createBaseRequest ($ accessToken , 'GET ' , $ baseUrl );
367-
368328 try {
369- $ response = parent ::getClient ()-> send ( $ request );
370- } catch (ClientException $ e ) {
329+ $ response = parent ::sendRequestWithoutBody ( $ accessToken , ' GET ' , $ baseUrl );
330+ } catch (TransferException $ e ) {
371331 throw parent ::convertException ($ e );
372332 }
373333
374- return Promocode::create ($ response ->json ( ));
334+ return Promocode::create (json_decode ( $ response ->getBody (), true ));
375335 }
376336
377337}
0 commit comments