Esempio n. 1
0
 public sResponse fetch(sRequest request)
 {
     try
     {
         WebRequest req = request.getRequest();
         req.ContentLength = request.getPostBodyLength();
         if (request.getPostBodyLength() > 0)
         {
             req.GetRequestStream().Write(request.getPostBody(), 0, request.getPostBodyLength());
         }
         sResponse resp = makeResponse(req);
         return(resp);
     }
     catch (Exception)
     {
         return(sResponse.error());
     }
 }
Esempio n. 2
0
 public sResponse fetch(sRequest request)
 {
     try
     {
         WebRequest req = request.getRequest();
         req.ContentLength = request.getPostBodyLength();
         if (request.getPostBodyLength() > 0)
         {
             req.GetRequestStream().Write(request.getPostBody(),0,request.getPostBodyLength());
         }
         sResponse resp = makeResponse(req);
         return resp;
     }
     catch (Exception)
     {
         return sResponse.error();
     }
     
 }
Esempio n. 3
0
        private sRequest createHttpRequest(sRequest basereq, List<OAuth.Parameter> oauthParams)
        {
            AccessorInfo.OAuthParamLocation? paramLocation = accessorInfo.getParamLocation();

            // paramLocation could be overriden by a run-time parameter to fetchRequest

            sRequest result = new sRequest(basereq);

            // If someone specifies that OAuth parameters go in the body, but then sends a request for
            // data using GET, we've got a choice.  We can throw some type of error, since a GET request
            // can't have a body, or we can stick the parameters somewhere else, like, say, the header.
            // We opt to put them in the header, since that stands some chance of working with some
            // OAuth service providers.
            if (paramLocation == AccessorInfo.OAuthParamLocation.POST_BODY &&
                !result.getMethod().Equals("POST"))
            {
                paramLocation = AccessorInfo.OAuthParamLocation.AUTH_HEADER;
            }

            switch (paramLocation)
            {
                case AccessorInfo.OAuthParamLocation.AUTH_HEADER:
                    result.addHeader("Authorization", getAuthorizationHeader(oauthParams));
                    break;

                case AccessorInfo.OAuthParamLocation.POST_BODY:
                    if (!OAuth.isFormEncoded(result.ContentType))
                    {
                        throw responseParams.oauthRequestException(OAuthError.INVALID_REQUEST,
                            "OAuth param location can only be post_body if post body is of " +
                            "type x-www-form-urlencoded");
                    }
                    String oauthData = OAuth.formEncode(oauthParams);
                    if (result.getPostBodyLength() == 0)
                    {
                        result.setPostBody(Encoding.UTF8.GetBytes(oauthData));
                    }
                    else
                    {
                        result.setPostBody(Encoding.UTF8.GetBytes(result.getPostBodyAsString() + '&' + oauthData));
                    }
                    break;

                case AccessorInfo.OAuthParamLocation.URI_QUERY:
                    result.setUri(Uri.parse(OAuth.addParameters(result.getUri().ToString(), oauthParams)));
                    break;
            }
            return result;
        }