//---------------------------------------------------------------------------------------------------------------------

        /// <summary>Returns a collection of configurable parameters and constants.</summary>
        public override void GetConfigurableParameters(RequestParameterCollection parameters)
        {
/*            XmlDocument definitionDocument = GetDefinitionDocument();
 *
 *          XmlElement elem;
 *
 *          foreach (XmlNode xmlNode in DefinitionDocument.DocumentElement.ChildNodes) {
 *              if ((elem = xmlNode as XmlElement) == null) continue;
 *
 *              if (elem.Name == "params") {
 *                  ParamsElement = elem;
 *                  continue;
 *              }
 *              if (elem.Name == "const") {
 *                  if (!elem.HasAttribute("configurable") || elem.Attributes["configurable"].Value != "true") continue;
 *                  parameters.GetParameter(context, this, elem, false, false);
 *              }
 *          }
 *
 *          if (ParamsElement == null) {
 *              foreach (XmlNode xmlNode in DefinitionDocument.DocumentElement.ChildNodes) {
 *                  if ((elem = xmlNode as XmlElement) != null && elem.Name == "params") {
 *                      ParamsElement = elem;
 *                      break;
 *                  }
 *              }
 *              if (ParamsElement == null) return;
 *          }
 *
 *          foreach (XmlNode xmlNode in ParamsElement.ChildNodes) {
 *              if ((elem = xmlNode as XmlElement) == null || elem.HasAttribute("source") || !elem.HasAttribute("scope") || elem.HasAttribute("type") && elem.Attributes["type"].Value == "textfile") continue;
 *              parameters.GetParameter(context, this, elem, false, false);
 *          }
 *          return;*/
        }
        public async Task <GameAndUserListResponse> GetGameAndUserList(LoginResponse loginResponse = null)
        {
            if (loginResponse == null)
            {
                if (userCredentials == null || !userCredentials.Result)
                {
                    throw new Exception("User not logged in! Use Login first");
                }
            }
            else
            {
                userCredentials = loginResponse;
            }

            RequestParameterCollection parameters = new RequestParameterCollection();

            parameters.AddParameter("type", "gameanduserlist");
            parameters.AddParameter("device_id", "173FA2A77FA8260CD1EA6C36D66478D3A14E23786A480485B3F09962ABF46540");
            parameters.AddParameter("userid", userCredentials.UserId);
            parameters.AddParameter("authkey", userCredentials.AuthKey);

            string apiResponse = await GetResponse(baseUrl + "matchmake.php" + parameters.ToString());

            return(GameAndUserListResponse.FromJson(apiResponse));
        }
 /// <summary>
 /// Creates a new instance of the RequestManager class
 /// </summary>
 /// <param name="requestMethod">Method to be used for the request (GET or POST)</param>
 /// <param name="resourceURL">URL to which the request should be sent</param>
 /// <param name="requestParams">List of request-specific parameters</param>
 /// <param name="oAuthTokens">oAuth keys, tokens and secrets used to authorize the request</param>
 public Request(string requestMethod, string resourceURL, RequestParameterCollection requestParams, SecurityTokens oAuthTokens)
 {
     RequestMethod = requestMethod;
     ResourceURL = resourceURL;
     RequestParams = requestParams;
     OAuth = new OAuthInstance(oAuthTokens);
 }
Example #4
0
        //---------------------------------------------------------------------------------------------------------------------

        public void SetNextTaskParameters(RequestParameterCollection requestParameters)
        {
            // Set new parameters

            /*RequestParameter param;
             * for (int i = 0; i < requestParameters.Count; i++) {
             *  param = requestParameters[i];
             *  switch (param.Type) {
             *      case "startdate" :
             *          case "enddate" :
             *          case "date" :
             *          case "datetime" :
             *          if (param.Value != null && param.Value.Contains("$(EXECDATE)")) {
             *              DateTime dt = NextReferenceTime;
             *              StringUtils.CalculateDateTime(ref dt, param.Value.Replace("$(EXECDATE)", String.Empty), false);
             *              param.Value = dt.ToString(@"yyyy\-MM\-dd\THH\:mm\:ss");
             *          }
             *          break;
             *          case "caption" :
             *          if (param.Value == null) break;
             *          param.Value = param.Value.Replace("$(EXECDATE)", ReferenceTime.ToString(@"yyyy\-MM\-dd\THH\:mm\:ss"));
             *          break;
             *  }
             * }*/
        }
        public async Task <LoginResponse> Login(string username, string password)
        {
            RequestParameterCollection parameters = new RequestParameterCollection();

            parameters.AddParameter("username", username);
            parameters.AddParameter("password", password);

            string apiResponse = await GetResponse(baseUrl + "login.php" + parameters.ToString());

            userCredentials = LoginResponse.FromJson(apiResponse);

            return(LoginResponse.FromJson(apiResponse));
        }
        //---------------------------------------------------------------------------------------------------------------------

        /// <summary>Gets the service parameters for the specified task template.</summary>

        /*!
         * /// <param name="parameters">the service parameter collection to be filled</param>
         * /// <param name="template">the task template referring to the service to be used </param>
         * /// <param name="assignValueSets">determines whether value sets are instantiated for the parameters that maintain value sets </param>
         */
        protected void GetParameters(RequestParameterCollection parameters, TaskTemplate template, bool assignValueSets)
        {
            try {
                template.Service.GetParameters();
                if (template.AllowInputFilesParameter)
                {
                    for (int i = 0; i < parameters.Count; i++)
                    {
                        RequestParameter param = parameters[i];
                        if (param.Source == "dataset")
                        {
                            param.Optional = !template.ForceInputFilesParameter;
                        }
                    }
                }

                /*if (template.Service.HasDynamicDefinition) {
                 *  bool isSwitchValueSet = false;
                 *
                 *  for (int i = 0; i < parameters.Count; i++) {
                 *      RequestParameter param = parameters[i];
                 *      if (!param.IsSwitch) continue;
                 *
                 *      if (template.FixedParameters.Contains(param.Name)) param.Value = template.FixedParameters[param.Name].Value;
                 *      if (param.Value != null) isSwitchValueSet = true;
                 *  }
                 *
                 *  if (isSwitchValueSet) template.Service.GetDynamicParameters(parameters, false, assignValueSets, true);
                 *
                 * }*/// TODO-NEW-SERVICE

                if (OutputFormatParameterName != null)
                {
                    FileListParameterValueSet formatValueSet = new FileListParameterValueSet(context, template.Service, OutputFormatParameterName, String.Format("{0}/*.xsl", XslDirectory));

                    if (formatValueSet.GetValues().Length != 0)
                    {
                        fileListParameter          = new RequestParameter(context, template.Service, OutputFormatParameterName, "select", "XSL Transformation for Output", null);
                        fileListParameter.Optional = true;
                        fileListParameter.ValueSet = formatValueSet;
                        parameters.Add(fileListParameter);
                    }
                }
            } catch (Exception e) {
                ServerResponsibility = true;
                throw new WpsNoApplicableCodeException(e.Message);
            }
        }
Example #7
0
        //---------------------------------------------------------------------------------------------------------------------

        public void SetNextTaskParameters(RequestParameterCollection requestParameters)
        {
            /*RequestParameter seriesParam, param;
             *
             * for (int i = 0; i < requestParameters.Count; i++) {
             *  seriesParam = requestParameters[i];
             *  if (seriesParam.Type != "series") continue;
             *
             *  param = new RequestParameter(context, Service, "_sort", null, null, String.Format("dct.modified,,{0} dc.identifier,,{0}", BackwardDirection ? "descending" : ""));
             *  param.SearchExtension = "sru:sortKeys";
             *  param.Optional = true;
             *  requestParameters.Add(param);
             *
             *  string limitValue = (Started ? ReferenceTime : ValidityStart).ToString(@"yyyy\-MM\-dd\THH\:mm\:ss\.fff\Z");
             *  param = new RequestParameter(context, Service, "_modified", null, null, "::" + limitValue);
             *  param.SearchExtension = "dct:modified";
             *  param.Optional = true;
             *  requestParameters.Add(param);
             *
             *  if (Started && ReferenceFile != null) {
             *      param = new RequestParameter(context, Service, "_lastFile", null, null, ":" + ReferenceFile);
             *      param.SearchExtension = "geo:uid";
             *      requestParameters.Add(param);
             *  }
             *
             *  Series fileSeries = null;
             *
             *  for (int j = 0; j < requestParameters.Count; j++) {
             *      if (requestParameters[j].Source != "dataset" || requestParameters[j].OwnerName != seriesParam.Name) continue;
             *
             *      // The series parameter corresponding to a dataset parameter becomes mandatory if the dataset parameter is mandatory and has no files
             *      fileSeries = Series.FromIdentifier(context, seriesParam.Value);
             *      if (fileSeries == null) continue;
             *
             *      fileSeries.DataSetParameter = requestParameters[j];
             *      //fileSeries.GetCatalogueResult(requestParameters);
             *  }
             * }*/
        }
Example #8
0
        //---------------------------------------------------------------------------------------------------------------------

        /// <summary>Returns a collection of configurable parameters and constants.</summary>
        public virtual void GetConfigurableParameters(RequestParameterCollection parameters)
        {
        }
Example #9
0
        //---------------------------------------------------------------------------------------------------------------------

        /// <summary>Creates a new TaskTemplate instance.</summary>
        /// <param name="context">The execution environment context.</param>
        protected TaskTemplate(IfyContext context)
        {
            this.context      = context;
            DefaultParameters = new RequestParameterCollection();
            FixedParameters   = new RequestParameterCollection();
        }
        /// <summary>
        /// Gets the OAuth security part of the base string for a web request
        /// </summary>
        /// <param name="requestParams">Collection of request-specific parameters</param>
        /// <returns>String - OAuth portion of base string</returns>
        public string GetOAuthBaseString(RequestParameterCollection requestParams)
        {
            var reqParams = new RequestParameterCollection();
            reqParams.AddRange(requestParams);
            reqParams.Add("oauth_consumer_key", Tokens.ConsumerKey);
            reqParams.Add("oauth_nonce", OAuthNonce);
            reqParams.Add("oauth_signature_method", OAuthSignatureMethod);
            reqParams.Add("oauth_timestamp", OAuthTimeStamp);
            reqParams.Add("oauth_token", Tokens.OAuthToken);
            reqParams.Add("oauth_version", OAuthVersion);

            reqParams.Sort();

            var baseString = string.Join(
                TweetNET.Requests.Globals.Common.COMMON_STRING_AMPERSAND,
                reqParams);

            return baseString;
        }
Example #11
0
        public ApiRequest(string url, string authToken)
        {
            if (url == null)
                throw new ArgumentNullException("url");

            if (string.IsNullOrEmpty(authToken) && HttpContext.Current != null)
            {
                HttpCookie authCookie = HttpContext.Current.Request.Cookies.Get("asc_auth_key");
                if (authCookie != null)
                    authToken = authCookie.Value;
            }

            url = url.Trim('/');

            int queryIndex = url.IndexOf('?');
            if (queryIndex > 0)
                url = url.Remove(queryIndex);

            if (url.EndsWith(".xml"))
            {
                url = url.Remove(url.Length - 4);
                ResponseType = ResponseType.Xml;
            }
            else if (url.EndsWith(".json"))
            {
                url = url.Remove(url.Length - 5);
                ResponseType = ResponseType.Json;
            }

            Url = url;
            AuthToken = authToken;
            Parameters = new RequestParameterCollection();
            Files = new RequestFileCollection();
            Headers = new NameValueCollection();
        }