Examples of HttpResponseBuilder


Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

    }
    nonceCache.addElement(nonceKey, info.message, TimeUnit.SECONDS.toMillis(10 * 60));
  }

  private HttpResponse handleNotFoundUrl(HttpRequest request) throws Exception {
    return new HttpResponseBuilder()
        .setHttpStatusCode(HttpResponse.SC_NOT_FOUND)
        .setResponseString("not found")
        .create();
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

        .setResponseString("not found")
        .create();
  }

  private HttpResponse handleError400Url(HttpRequest request) throws Exception {
    return new HttpResponseBuilder()
        .setHttpStatusCode(HttpResponse.SC_BAD_REQUEST)
        .setResponseString("bad request")
        .create();
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

  private HttpResponse handleEchoUrl(HttpRequest request) throws Exception {
    String query = request.getUri().getQuery();
    if (query.contains("add_oauth_token")) {
      query = query + "&oauth_token=abc";
    }
    return new HttpResponseBuilder()
        .setHttpStatusCode(HttpResponse.SC_OK)
        .setResponseString(query)
        .create();
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

   * Fetch data and build a response to return to the client.  We try to always return something
   * reasonable to the calling app no matter what kind of madness happens along the way.  If an
   * unchecked exception occurs, well, then the client is out of luck.
   */
  private HttpResponse fetchNoThrow() {
    HttpResponseBuilder response;
    try {
      accessorInfo = fetcherConfig.getTokenStore().getOAuthAccessor(
          realRequest.getSecurityToken(), realRequest.getOAuthArguments(), clientState,
          responseParams, fetcherConfig);
      response = fetchWithRetry();
    } catch (OAuthRequestException e) {
      // No data for us.
      if (OAuthError.UNAUTHENTICATED.name().equals(e.getError())) {
        responseParams.logDetailedInfo(classname,"fetchNoThrow",MessageKeys.UNAUTHENTICATED_OAUTH, e);
      } else if (OAuthError.BAD_OAUTH_TOKEN_URL.name().equals(e.getError())) {
        responseParams.logDetailedInfo(classname,"fetchNoThrow",MessageKeys.INVALID_OAUTH, e);
      } else {
        responseParams.logDetailedWarning(classname,"fetchNoThrow",MessageKeys.OAUTH_FETCH_FATAL_ERROR, e);
      }
      responseParams.setSendTraceToClient(true);
      response = new HttpResponseBuilder()
          .setHttpStatusCode(HttpResponse.SC_FORBIDDEN)
          .setStrictNoCache();
      responseParams.addToResponse(response, e);
      return response.create();
    }

    // OK, got some data back, annotate it as necessary.
    if (response.getHttpStatusCode() >= 400) {
      responseParams.logDetailedWarning(classname,"fetchNoThrow",MessageKeys.OAUTH_FETCH_FATAL_ERROR);

      responseParams.setSendTraceToClient(true);
    } else if (responseParams.getAznUrl() != null && responseParams.sawErrorResponse()) {
      responseParams.logDetailedWarning(classname,"fetchNoThrow",MessageKeys.OAUTH_FETCH_ERROR_REPROMPT);
      responseParams.setSendTraceToClient(true);
    }

    responseParams.addToResponse(response, null);
    return response.create();
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

   * we can recover by restarting the protocol flow.
   */
  private HttpResponseBuilder fetchWithRetry() throws OAuthRequestException {
    int attempts = 0;
    boolean retry;
    HttpResponseBuilder response = null;
    do {
      retry = false;
      ++attempts;
      try {
        response = attemptFetch();
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

      // This is section 6.2 of the OAuth spec.
      buildClientApprovalState();
      buildAznUrl();
      // break out of the content fetching chain, we need permission from
      // the user to do this
      return new HttpResponseBuilder()
         .setHttpStatusCode(HttpResponse.SC_OK)
         .setStrictNoCache();
    } else if (needAccessToken()) {
      // This is section 6.3 of the OAuth spec
      checkCanApprove();
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

   *
   * @throws OAuthProtocolException if the service provider returns an OAuth
   * related error instead of user data.
   */
  private HttpResponseBuilder fetchData() throws OAuthRequestException, OAuthProtocolException {
    HttpResponseBuilder builder;
    if (accessTokenData != null) {
      // This is a request for access token data, return it.
      builder = formatAccessTokenData();
    } else {
      HttpRequest signed = sanitizeAndSign(realRequest, null, false);

      HttpResponse response = fetchFromServer(signed);

      checkForProtocolProblem(response);
      builder = new HttpResponseBuilder(response);
    }
    return builder;
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

   * Access token data is returned to the gadget as json key/value pairs:
   *
   *    { "user_id": "12345678" }
   */
  private HttpResponseBuilder formatAccessTokenData() {
    HttpResponseBuilder builder = new HttpResponseBuilder();
    builder.addHeader("Content-Type", "application/json; charset=utf-8");
    builder.setHttpStatusCode(HttpResponse.SC_OK);
    // no need to cache this, these requests should be fairly rare, and the results should be
    // cached in gadget.
    builder.setStrictNoCache();
    JSONObject json = new JSONObject(accessTokenData);
    builder.setResponseString(json.toString());
    return builder;
  }
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

          Map<String, String> requestParams = requestParameterGenerator
                  .generateParams(this.realRequest);
          accessor.setAdditionalRequestParams(requestParams);

          HttpResponseBuilder responseBuilder = null;
          if (!accessor.isErrorResponse()) {
            responseBuilder = this.attemptFetch(accessor, false);
          }

          response = this.processResponse(accessor, responseBuilder);
View Full Code Here

Examples of org.apache.shindig.gadgets.http.HttpResponseBuilder

    if (isLogging) {
      BasicOAuth2Request.LOG.entering(BasicOAuth2Request.LOG_CLASS, "attemptFetch", new Object[] {
              accessor, tryAgain });
    }

    HttpResponseBuilder ret = null;

    // If there's an error in the accessor don't continue.
    if (!accessor.isErrorResponse()) {
      if (BasicOAuth2Request.haveAccessToken(accessor) != null) {
        // We have an access_token, use it and stop!
        ret = this.fetchData(accessor);
      } else {
        // We don't have an access token, we need to try and get one.
        // First step see if we have a refresh token
        if (BasicOAuth2Request.haveRefreshToken(accessor) != null) {
          if (BasicOAuth2Request.checkCanRefresh()) {
            final OAuth2HandlerError handlerError = this.refreshToken(accessor);
            if (handlerError == null) {
              // No errors refreshing, attempt the fetch again.
              ret = this.attemptFetch(accessor, true);
            } else {
              // There was an error refreshing, stop.
              final OAuth2Error error = handlerError.getError();
              ret = this.getErrorResponseBuilder(handlerError.getCause(), error,
                      handlerError.getContextMessage(), "");
            }
          } else {
            // User cannot refresh, they'll have to try to authorize again.
            accessor.setRefreshToken(null);
            ret = this.attemptFetch(accessor, true);
          }
        } else {
          // We have no access token and no refresh token.
          // User needs to authorize again.
          if (!accessor.isRedirecting() && this.checkCanAuthorize(accessor)) {
            final String completeAuthUrl = this.authorize(accessor);
            if (completeAuthUrl != null) {
              // Send a response to redirect to the authorization url
              this.responseParams.setAuthorizationUrl(completeAuthUrl);
              accessor.setRedirecting(true);
            } else {
              // This wasn't a redirect type of authorization. try again
              ret = this.attemptFetch(accessor, true);
            }
          }
        }
      }

      if ((ret == null) && (!accessor.isRedirecting())) {
        // We don't have a response, just issue the request and
        // see what happens
        ret = this.fetchData(accessor);
      }

      if ((ret == null) && (accessor.isRedirecting())) {
        ret = new HttpResponseBuilder().setHttpStatusCode(HttpResponse.SC_OK).setStrictNoCache();
      }
    } else {
      return null;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.