Package com.anthavio.httl

Examples of com.anthavio.httl.SenderResponse


  private CacheEntry<CachedResponse> refresh(String cacheKey, CachingRequest request) {
    CacheEntry<CachedResponse> entry;
    try {
      refresh.put(cacheKey, request);
      SenderResponse response = sender.execute(request.getSenderRequest());
      request.setLastRefresh(System.currentTimeMillis());
      CachedResponse cached = new CachedResponse(request.getSenderRequest(), response);
      entry = new CacheEntry<CachedResponse>(cached, request.getHardTtl(), request.getSoftTtl());
      //cache only 20x responses
      if (response.getHttpStatusCode() < 300) {
        cache.set(cacheKey, entry);
      }
    } finally {
      refresh.remove(cacheKey);
    }
View Full Code Here


  /**
   * Static caching based on specified TTL
   */
  public <T> ExtractedBodyResponse<T> extract(CachingRequest request, Class<T> resultType) {
    SenderResponse response = execute(request).getValue();
    try {
      T extracted = sender.extract(response, resultType);
      return new ExtractedBodyResponse<T>(response, extracted);
    } finally {
      Cutils.close(response);
View Full Code Here

  /**
   * Static caching based on specified TTL
   */
  public <T> ExtractedBodyResponse<T> extract(CachingRequest request, ResponseBodyExtractor<T> extractor) {
    SenderResponse response = execute(request).getValue();
    try {
      T extracted = extractor.extract(response);
      return new ExtractedBodyResponse<T>(response, extracted);

    } catch (IOException iox) {
View Full Code Here

   */
  public <T> ExtractedBodyResponse<T> extract(SenderRequest request, ResponseBodyExtractor<T> extractor) {
    if (extractor == null) {
      throw new IllegalArgumentException("Extractor is null");
    }
    SenderResponse response = execute(request);
    try {
      if (response.getHttpStatusCode() >= 300) {
        throw new SenderHttpStatusException(response);
      }
      T extracted = extractor.extract(response);
      return new ExtractedBodyResponse<T>(response, extracted);

View Full Code Here

   */
  public <T> ExtractedBodyResponse<T> extract(SenderRequest request, Class<T> resultType) {
    if (resultType == null) {
      throw new IllegalArgumentException("resultType is null");
    }
    SenderResponse response = execute(request);
    try {
      T extracted = sender.extract(response, resultType);
      return new ExtractedBodyResponse<T>(response, extracted);
    } finally {
      Cutils.close(response);
View Full Code Here

        }
      }
    } else if (request.getFirstHeader("If-None-Match") != null) {
      throw new IllegalStateException("Cannot use request ETag without holding cached response");
    }
    SenderResponse response = sender.execute(request);

    if (response.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_MODIFIED) {
      //only happen when we sent Etag => we have CacheEntry
      //entry.setServerDate(response.getFirstHeader("Date"));
      Cutils.close(response);
      return entry.getValue();
    }

    if (response.getHttpStatusCode() < 300) {
      CacheEntry<CachedResponse> entryNew = HttpHeaderUtil.buildCacheEntry(request, response);
      if (entryNew != null) {
        cache.set(cacheKey, entryNew);
        return entryNew.getValue();
      } else {
View Full Code Here

TOP

Related Classes of com.anthavio.httl.SenderResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.