String msg = "Response code to " + target.getUri() + " was " + response.getStatusInfo(); response.close(); throw new QuandlTooManyRequestsException(msg, retryAfter, rateLimitLimit, rateLimitRemaining); } else if (response.getStatus() == SERVICE_UNAVAILABLE) { String msg = "Response code to " + target.getUri() + " was 503 (Service Unavailable)";
@Override public SEARCH_RESULT_TYPE search(final SearchRequest request) { Client client = ClientBuilder.newClient(); WebTarget target = client.target(API_BASE_URL_V3); target = request.appendPathAndQueryParameters(target); target = withAuthToken(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _metaDataPackager.ofSearchResult(_restDataProvider.getJSONResponse(target, request)); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); } }
throw ex; } else if (response.getStatus() == TOO_MANY_REQUESTS) { QuandlTooManyRequestsException ex = new QuandlTooManyRequestsException("Response code to " + target.getUri() + " was " + response.getStatusInfo()); writeIndexEntry(target.getUriBuilder().build(), file, ex); throw ex;
@Override public SearchResult search(final SearchRequest request) { Client client = ClientBuilder.newClient(); WebTarget target = client.target(API_BASE_URL_V3); target = withAuthToken(target); target = request.appendPathAndQueryParameters(target); int retries = 0; QuandlRuntimeException lastException; do { try { return SearchResult.of(_restDataProvider.getJSONResponse(target, request)); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); } }
throw ex; } else if (response.getStatus() == TOO_MANY_REQUESTS) { QuandlTooManyRequestsException ex = new QuandlTooManyRequestsException("Response code to " + target.getUri() + " was " + response.getStatusInfo()); writeIndexEntry(target.getUriBuilder().build(), file, ex); throw ex;
@Override public MetaDataResult getMetaData(final MetaDataRequest request) { ArgumentChecker.notNull(request, "request"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(API_BASE_URL_V3); target = withAuthToken(target); target = request.appendPathAndQueryParameters(target); JSONObject object = null; int retries = 0; QuandlRuntimeException lastException; do { try { return MetaDataResult.of(_restDataProvider.getJSONResponse(target, request)); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (object == null && _sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }
throw ex; } else if (response.getStatus() == TOO_MANY_REQUESTS) { QuandlTooManyRequestsException ex = new QuandlTooManyRequestsException( "Response code to " + target.getUri() + " was " + response.getStatusInfo()); writeIndexEntry(target.getUriBuilder().build(), file, ex);
@Override public METADATA_TYPE getMetaData(final MetaDataRequest request) { ArgumentChecker.notNull(request, "request"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(API_BASE_URL_V3); target = request.appendPathAndQueryParameters(target); target = withAuthToken(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _metaDataPackager.ofMetaData(_restDataProvider.getJSONResponse(target, request)); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }
throw ex; } else if (response.getStatus() == TOO_MANY_REQUESTS) { QuandlTooManyRequestsException ex = new QuandlTooManyRequestsException( "Response code to " + target.getUri() + " was " + response.getStatusInfo()); writeIndexEntry(target.getUriBuilder().build(), file, ex);
@Override public TabularResult getDataSet(final DataSetRequest request) { ArgumentChecker.notNull(request, "request"); Client client = getClient(); WebTarget target = client.target(API_BASE_URL_V3); target = withAuthToken(target); target = request.appendPathAndQueryParameters(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _restDataProvider.getTabularResponse(target, request); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }
@Override public TABLE_TYPE getDataSet(final DataSetRequest request) { ArgumentChecker.notNull(request, "request"); Client client = getClient(); WebTarget target = client.target(API_BASE_URL_V3); target = request.appendPathAndQueryParameters(target); target = withAuthToken(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _restDataProvider.getTabularResponse(target, request); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }