Example #1
0
  /**
   * HTTP 요청 결과를 HttpInvocation 객체에 위임하여 결과를 가공해 리턴한다.
   *
   * @param <T>
   * @param httpMethod
   * @param httpInvocation
   * @return
   */
  public <T> T invoke(HttpMethod httpMethod, HttpInvocation<T> httpInvocation) {
    populateCookiePolicy(httpMethod);
    populateRequestHeaders(httpMethod, httpInvocation);

    try {
      httpClient.executeMethod(httpMethod);

      processOnResponses(httpMethod, httpInvocation);
    } catch (Exception ex) {
      httpInvocation.onException(ex);
    } finally {
      httpMethod.releaseConnection();
    }

    return httpInvocation.getReturnValue();
  }