@@ -84,7 +84,7 @@ public PardotClient(final Configuration configuration, final RestClient restClie
8484 this .restClient = restClient ;
8585 }
8686
87- private <T > T submitRequest (final Request request , ResponseParser <T > responseParser ) throws IOException {
87+ private <T > T submitRequest (final Request request , ResponseParser <T > responseParser ) {
8888 // Ugly hack,
8989 // avoid doing login check if we're doing a login request.
9090 if (!(request instanceof LoginRequest )) {
@@ -102,13 +102,21 @@ private <T> T submitRequest(final Request request, ResponseParser<T> responsePar
102102 if (restResponse .getHttpCode () >= 200 && restResponse .getHttpCode () < 300 ) {
103103 // High level check for error response
104104 if (restResponse .getResponseStr ().contains ("<rsp stat=\" fail\" " )) {
105- // Parse error response
106- final ErrorResponse error = new ErrorResponseParser ().parseResponse (restResponse .getResponseStr ());
107-
108- // throw exception
109- throw new InvalidRequestException (error .getMessage (), error .getCode ());
105+ try {
106+ // Parse error response
107+ final ErrorResponse error = new ErrorResponseParser ().parseResponse (restResponse .getResponseStr ());
108+
109+ // throw exception
110+ throw new InvalidRequestException (error .getMessage (), error .getCode ());
111+ } catch (IOException exception ) {
112+ throw new ParserException (exception .getMessage (), exception );
113+ }
114+ }
115+ try {
116+ return responseParser .parseResponse (restResponse .getResponseStr ());
117+ } catch (IOException exception ) {
118+ throw new ParserException (exception .getMessage (), exception );
110119 }
111- return responseParser .parseResponse (restResponse .getResponseStr ());
112120 }
113121 // Otherwise throw an exception.
114122 throw new InvalidRequestException ("Invalid http response code from server: " + restResponse .getHttpCode (), restResponse .getHttpCode ());
@@ -144,7 +152,7 @@ RestClient getRestClient() {
144152 * If no existing API key is found, this will attempt to authenticate and
145153 * get a new API key.
146154 */
147- private void checkLogin () throws IOException {
155+ private void checkLogin () {
148156 if (configuration .getApiKey () != null ) {
149157 return ;
150158 }
@@ -165,127 +173,115 @@ private void checkLogin() throws IOException {
165173 * Make login request
166174 * @return LoginResponse returned from server.
167175 */
168- public LoginResponse login (LoginRequest request ) throws IOException {
176+ public LoginResponse login (LoginRequest request ) {
169177 return submitRequest (request , new LoginResponseParser ());
170178 }
171179
172180 /**
173181 * Make API request to read the account of the currently authenticated user.
174182 * @param request Request definition.
175183 * @return Parsed api response.
176- * @throws IOException on parse errors.
177184 */
178- public Account accountRead (final AccountReadRequest request ) throws IOException {
185+ public Account accountRead (final AccountReadRequest request ) {
179186 return submitRequest (request , new AccountReadResponseParser ());
180187 }
181188
182189 /**
183190 * Make API request to query one or more users.
184191 * @param request Request definition.
185192 * @return Parsed user query response.
186- * @throws IOException on parse errors.
187193 */
188- public UserQueryResponse .Result userQuery (final UserQueryRequest request ) throws IOException {
194+ public UserQueryResponse .Result userQuery (final UserQueryRequest request ) {
189195 return submitRequest (request , new UserQueryResponseParser ());
190196 }
191197
192198 /**
193199 * Make API request to read the abilities of the currently authenticated user.
194200 * @param request Request definition.
195201 * @return Parsed api response.
196- * @throws IOException on parse errors.
197202 */
198- public UserAbilitiesResponse .Result userAbilities (final UserAbilitiesRequest request ) throws IOException {
203+ public UserAbilitiesResponse .Result userAbilities (final UserAbilitiesRequest request ) {
199204 return submitRequest (request , new UserAbilitiesParser ());
200205 }
201206
202207 /**
203208 * Make API request to read a specific user.
204209 * @param request Request definition.
205210 * @return Parsed api response.
206- * @throws IOException on parse errors.
207211 */
208- public User userRead (final UserReadRequest request ) throws IOException {
212+ public User userRead (final UserReadRequest request ) {
209213 return submitRequest (request , new UserReadResponseParser ());
210214 }
211215
212216 /**
213217 * Make API request to query for one or more campaigns.
214218 * @param request Request definition.
215219 * @return Parsed api response.
216- * @throws IOException on parse errors.
217220 */
218- public CampaignQueryResponse .Result campaignQuery (final CampaignQueryRequest request ) throws IOException {
221+ public CampaignQueryResponse .Result campaignQuery (final CampaignQueryRequest request ) {
219222 return submitRequest (request , new CampaignQueryResponseParser ());
220223 }
221224
222225 /**
223226 * Make API request to read a specific campaign.
224227 * @param request Request definition.
225228 * @return Parsed api response.
226- * @throws IOException on parse errors.
227229 */
228- public Campaign campaignRead (final CampaignReadRequest request ) throws IOException {
230+ public Campaign campaignRead (final CampaignReadRequest request ) {
229231 return submitRequest (request , new CampaignReadResponseParser ());
230232 }
231233
232234 /**
233235 * Make API request to create a new Campaign.
234236 * @param request Request definition.
235237 * @return Parsed api response.
236- * @throws IOException on parse errors.
237238 */
238- public Campaign campaignCreate (final CampaignCreateRequest request ) throws IOException {
239+ public Campaign campaignCreate (final CampaignCreateRequest request ) {
239240 return submitRequest (request , new CampaignReadResponseParser ());
240241 }
241242
242243 /**
243244 * Make API request to update an existing Campaign.
244245 * @param request Request definition.
245246 * @return Parsed api response.
246- * @throws IOException on parse errors.
247247 */
248- public Campaign campaignUpdate (final CampaignUpdateRequest request ) throws IOException {
248+ public Campaign campaignUpdate (final CampaignUpdateRequest request ) {
249249 return submitRequest (request , new CampaignReadResponseParser ());
250250 }
251251
252252 /**
253253 * Make API request to read a specific Email.
254254 * @param request Request definition.
255255 * @return Parsed api response.
256- * @throws IOException on parse errors.
257256 */
258- public Email emailRead (final EmailReadRequest request ) throws IOException {
257+ public Email emailRead (final EmailReadRequest request ) {
259258 return submitRequest (request , new EmailReadResponseParser ());
260259 }
261260
262261 /**
263262 * Make API request to retrieve stats about a List Email Send.
264263 * @param request Request definition.
265264 * @return Parsed api response.
266- * @throws IOException on parse errors.
267265 */
268- public EmailStatsResponse .Stats emailStats (final EmailStatsRequest request ) throws IOException {
266+ public EmailStatsResponse .Stats emailStats (final EmailStatsRequest request ) {
269267 return submitRequest (request , new EmailStatsResponseParser ());
270268 }
271269
272270 /**
273271 * Make API request to send a 1-to-1 prospect email.
274272 * @param request Request definition.
275273 * @return Parsed api response.
276- * @throws IOException on parse errors.
277274 */
278- public Email emailSendOneToOne (final EmailSendOneToOneRequest request ) throws IOException {
275+ public Email emailSendOneToOne (final EmailSendOneToOneRequest request ) {
279276 return submitRequest (request , new EmailReadResponseParser ());
280277 }
281278
282279 /**
283280 * Make API request to send a list email.
284281 * @param request Request definition.
285282 * @return Parsed api response.
286- * @throws IOException on parse errors.
287283 */
288- public Email emailSendList (final EmailSendListRequest request ) throws IOException {
284+ public Email emailSendList (final EmailSendListRequest request ) {
289285 return submitRequest (request , new EmailReadResponseParser ());
290286 }
291287
0 commit comments