private static async Task<RequestResponse> ProcessRequest(EasypayConfig config, string data, HttpMethod httpMethod, string path, string reqId)
        {
            var contentType = httpMethod.Method == "GET" ? "" : "application/vnd.ch.swisscom.easypay.direct.payment+json";
            var url = new Uri("https://" + config.Host + config.Basepath + path);
            var now = DateTime.Now;
            var date = now.ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss", CultureInfo.GetCultureInfoByIetfLanguageTag("en")) + " +0000"; //Mon, 07 Dec 2015 09:01:30 +0000

            var client = new HttpClient();
            var request = new HttpRequestMessage(httpMethod, url);
            request.Headers.Add("X-SCS-Date", date);
            request.Headers.Add("X-Request-Id", reqId);
            request.Headers.Add("X-Merchant-Id", config.MerchantId);
            request.Headers.Add("X-CE-Client-Specification-Version", "1.1");

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/vnd.ch.swisscom.easypay.message.list+json"));
            request.Headers.Date = now;

            var md5Hash = data != null ? Signature.HashData(Encoding.UTF8.GetBytes(data)) : null;
            var hashString = Signature.CreateHashString(httpMethod.Method, md5Hash != null ? Convert.ToBase64String(md5Hash) : "", contentType, date, path);
            var signature = Signature.Sign(Encoding.UTF8.GetBytes(config.EasypaySecret), Encoding.UTF8.GetBytes(hashString));
            
            request.Headers.Add("X-SCS-Signature", Convert.ToBase64String(signature));

            if (data != null)
            {
                request.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType);
                request.Content = new StringContent(data);
                request.Content.Headers.ContentMD5 = md5Hash;
            }

            var result = await client.SendAsync(request);
            var ret = new RequestResponse {Response = await result.Content.ReadAsStringAsync(), StatusCode = result.StatusCode};
            return ret;
        }
Пример #2
0
 public static FileResponse GetDocument(RequestResponse response)
 {
     using (var client = new HttpClient())
     {
         using (var message = client.GetAsync(string.Format("https://developers.isign.io/mobile/sign/status/{0}.json?access_token=" + Api.accessToken, response.Token)))
         {
             var input = message.Result;
             var serializator = new DataContractJsonSerializer(typeof(FileResponse));
             return (FileResponse)serializator.ReadObject(input.Content.ReadAsStreamAsync().Result);
         }
     }
 }
        public void Get_Called_ReturnsRequestResponse()
        {
            // Given
            var response = new RequestResponse { Item = new Request { Id = 1 } };
            _client.Setup(b => b.Get<RequestResponse>(It.IsAny<Uri>())).Returns(response);
            var resource = new RequestResource(_client.Object);

            // When
            var result = resource.Get(321);

            // Then
            Assert.That(result, Is.EqualTo(response));
        }
        public void Put_CalledWithRequest_ReturnsRequestReponse()
        {
            // Given
            var response = new RequestResponse { Item = new Request { Subject = "blah blah" } };
            var request = new RequestRequest { Item = new Request { Subject = "blah blah", Id = 123 } };
            _client.Setup(b => b.Put<RequestResponse>(It.IsAny<Uri>(), request, "application/json")).Returns(response);
            var resource = new RequestResource(_client.Object);

            // When
            var result = resource.Put(request);

            // Then
            Assert.That(result, Is.EqualTo(response));
        }
Пример #5
0
        public override SoapFilterResult ProcessMessage(SoapEnvelope envelope)
        {
            try
            {
                var env = XElement.Load(envelope.GetDocumentReader());
                RequestResponse.SetIds(env);

                using (var rd = env.CreateReader())
                {
                    envelope.Load(rd);
                }
            }
            catch
            {
            }

            return(SoapFilterResult.Continue);
        }
        public void Delete_Called_CallsDeleteOnClient()
        {
            // Given
            var response = new RequestResponse {
                Item = new Request {
                    Id = 1
                }
            };

            _client.Setup(b => b.Get <RequestResponse>(It.IsAny <Uri>())).Returns(response);
            var requestResource = new RequestResource(_client.Object);

            // When
            requestResource.Delete(321);

            // Then
            _client.Verify(c => c.Delete(It.IsAny <Uri>()));
        }
        public async void DeleteAsync_Called_CallsDeleteOnClient()
        {
            // Given
            var response = new RequestResponse {
                Item = new Request {
                    Id = 1
                }
            };

            _client.Setup(b => b.GetAsync <RequestResponse>(It.IsAny <Uri>())).Returns(TaskHelper.CreateTaskFromResult(response));
            var requestResource = new RequestResource(_client.Object);

            // When
            await requestResource.DeleteAsync(321);

            // Then
            _client.Verify(c => c.DeleteAsync(It.IsAny <Uri>()));
        }
Пример #8
0
        public RequestResponse DeleteSingleWorkflowCategorySteps(int id)
        {
            RequestResponse RequestResponse = new RequestResponse();

            try
            {
                new WorkflowCategoryCRUD().DeleteSingleWorkflowCategoryStep(id);
                RequestResponse.Message = "Record deleted";
                RequestResponse.Success = true;
            }
            catch (Exception ex)
            {
                RequestResponse.Message = ex.Message;
                RequestResponse.Success = false;
            }

            return(RequestResponse);
        }
Пример #9
0
        public RequestResponse DeleteSingleDocType(int id)
        {
            RequestResponse RequestResponse = new RequestResponse();

            try
            {
                new DocTypeCRUD().DeleteSingle(id);
                RequestResponse.Message = "Record deleted";
                RequestResponse.Success = true;
            }
            catch (Exception ex)
            {
                RequestResponse.Message = ex.Message;
                RequestResponse.Success = false;
            }

            return(RequestResponse);
        }
        public async void GetAsync_Called_ReturnsRequestResponse()
        {
            // Given
            var response = new RequestResponse {
                Item = new Request {
                    Id = 1
                }
            };

            _client.Setup(b => b.GetAsync <RequestResponse>(It.IsAny <Uri>())).Returns(TaskHelper.CreateTaskFromResult(response));
            var resource = new RequestResource(_client.Object);

            // When
            var result = await resource.GetAsync(321);

            // Then
            Assert.That(result, Is.EqualTo(response));
        }
        public void Get_Called_ReturnsRequestResponse()
        {
            // Given
            var response = new RequestResponse {
                Item = new Request {
                    Id = 1
                }
            };

            _client.Setup(b => b.Get <RequestResponse>(It.IsAny <Uri>())).Returns(response);
            var resource = new RequestResource(_client.Object);

            // When
            var result = resource.Get(321);

            // Then
            Assert.That(result, Is.EqualTo(response));
        }
Пример #12
0
        public RequestResponse Delete(string id)
        {
            var response = new RequestResponse();

            try
            {
                ShopDac.DeleteOne(s => s.Id == id);

                response.Code    = 200;
                response.Message = "success.";
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = "error: " + ex.Message;
            }
            return(response);
        }
        /// <summary>
        /// Read a payment cancel request
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="result"></param>
        public static void Read(XmlReader reader, RequestResponse result)
        {
            if (reader.IsEmptyElement)
            {
                XMLParserUtils.SkipNode(reader);
                return;
            }

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Text:
                    result.Response = reader.Value;
                    break;
                }
            }
        }
Пример #14
0
        public RequestResponse DeleteSingleProject(int id, bool isDelete)
        {
            RequestResponse RequestResponse = new RequestResponse();

            try
            {
                new ProjectCRUD().DeleteSingle(id, isDelete);
                RequestResponse.Message = "Project status updated";
                RequestResponse.Success = true;
            }
            catch (Exception ex)
            {
                RequestResponse.Message = ex.Message;
                RequestResponse.Success = false;
            }

            return(RequestResponse);
        }
        protected override RequestResponse <DownloadTokenResult> DeserializeMessage(string responseText)
        {
            var m = Regex.Match(responseText,
                                @"""tokens"":{""download""\s*:\s*""(?<token>.*?)""");

            var msg = new RequestResponse <DownloadTokenResult>
            {
                Ok     = m.Success,
                Result = new DownloadTokenResult
                {
                    body = new DownloadTokenBody {
                        token = m.Groups["token"].Value
                    }
                }
            };

            return(msg);
        }
Пример #16
0
        /// <summary>
        /// Serialize a <see cref="RequestResponse"/>.
        /// </summary>
        /// <param name="response">Response to serialize</param>
        public void SerializeResponse(RequestResponse response)
        {
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            this.binaryWriter.Write((uint)RequestType.RequestResponse);

            this.binaryWriter.Write((ulong)response.CallId);
            this.binaryWriter.Write((int)response.ResultCode);

            this.SerializeNullableString(response.ResponsePath);

            this.SerializeStat(response.Stat);

            this.SerializeContent(response.Content);
        }
Пример #17
0
        public async Task <ActionResult <RequestResponse> > ResetPassword([FromBody] PasswordReset passwordReset)
        {
            try
            {
                if (passwordReset is null || string.IsNullOrWhiteSpace(passwordReset.Email))
                {
                    return(BadRequest(RequestResponse.BadRequest("Please check your input.")));
                }

                await firebaseAuthService.SendPasswordResetEmail(passwordReset.Email);

                return(Ok(RequestResponse.Success()));
            }
            catch (Exception)
            {
                return(BadRequest(RequestResponse.BadRequest("Something went wrong trying to send reset email.")));
            }
        }
Пример #18
0
        public async Task <ActionResult <ApiResponse <LoginStatus> > > RegisterUser([FromBody] Register register)
        {
            try
            {
                if (register is null || string.IsNullOrWhiteSpace(register.Email) || string.IsNullOrWhiteSpace(register.Password))
                {
                    return(BadRequest(RequestResponse.BadRequest("Please check your input.")));
                }

                var result = await firebaseAuthService.RegisterUser(register);

                return(Ok(new ApiResponse <LoginStatus>(result)));
            }
            catch (Exception)
            {
                return(BadRequest(RequestResponse.BadRequest("Something went wrong during the registration.")));
            }
        }
Пример #19
0
        private async Task <bool> Login(Proxy proxy, string username, string password)
        {
            using (WebSession session = new WebSession(proxy)) {
                RequestResponse rr = session.DispatchRequest(new GetRequest("https://www.pornhub.com/login"));

                if (!rr.Validate())
                {
                    Debug.WriteLine("Failed to load login page");
                    return(false);
                }
                Element tokenEl = rr.GetAsDoc().Select("[name=token]").First();

                if (tokenEl is null)
                {
                    Debug.WriteLine("Token not found");
                    return(false);
                }
                string token = tokenEl.Val;

                FormBody fb = new FormBody();
                fb.Add("loginPage", 1);
                fb.Add("redirect", "");
                fb.Add("token", token);
                fb.Add("taste_profile", "");
                fb.Add("username", username);
                fb.Add("password", password);
                fb.Add("remember_me", "on");

                rr = session.DispatchRequest(new PostRequest("https://www.pornhub.com/front/authenticate", fb));

                if (!rr.Validate())
                {
                    if (rr.ResponseCode == 500)
                    {
                        Debug.WriteLine("Blocked connection");
                        return(false);
                    }
                    Debug.WriteLine("Failed to login");
                    return(false);
                }
                Debug.WriteLine(rr.GetResponseContent());
                return(true);
            }
        }
Пример #20
0
        private RequestResponse TestData()
        {
            var requestResponse = new RequestResponse
            {
                AcceptableResponseTimeMs = 500,
                Id             = Guid.NewGuid(),
                Interval       = 10000,
                IsActive       = true,
                Method         = HttpMethod.Get.Method,
                RequestBody    = string.Empty,
                ResponseStatus = System.Net.HttpStatusCode.OK,
                Url            = new Uri("https://www.google.co.uk")
            };

            requestResponse.AddRequestHeader("Host", "www.google.co.uk");
            requestResponse.AddRequestHeader("Accept", "text/html");

            return(requestResponse);
        }
Пример #21
0
        public RequestResponse PostAllow(RequestResponse r)
        {
            dynamic         v        = r.Data;
            dynamic         d        = v.ToObject <List <string> >();
            List <string>   l        = (List <string>)d;
            bool            b        = dtoShop.comparePassword(l[0], Convert.ToInt32(l[1]));
            RequestResponse response = new RequestResponse();

            response.Result = b;
            if (!b)
            {
                response.Message = "סיסמא לא תקינה";
            }
            else
            {
                response.Message = "לא יאומן, אבל הסיסמא תקינה!!!";
            }
            return(response);
        }
Пример #22
0
        public static RequestResponse <List <Product> > GetAllPro(string provider, string connectionString)
        {
            RequestResponse <List <Product> > response = new RequestResponse <List <Product> >();

            try
            {
                SqlConnection connection = new SqlConnection(connectionString);
                connection.Open();
                string     query = ResourceHelper.GetQuery(ReadResources.Queries, provider, ReadsConstants.GET_ALL_PRODUCT);
                SqlCommand cmd   = new SqlCommand(query, connection);
                cmd.CommandText = cmd.CommandText;

                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    response.Result     = new List <Product>();
                    response.Successful = true;
                    while (reader.Read())
                    {
                        Product product = new Product
                        {
                            Proide = reader.GetInt64(reader.GetOrdinal("proide")),
                            Pronom = reader.GetString(reader.GetOrdinal("pronom")),
                            Propre = reader.GetDecimal(reader.GetOrdinal("propre")),
                            Profcr = reader.GetDateTime(reader.GetOrdinal("profcr")),
                            Procan = reader.GetInt32(reader.GetOrdinal("catcan")),
                            Proref = reader.GetString(reader.GetOrdinal("catref"))
                        };
                        response.Result.Add(product);
                    }
                }
                else
                {
                    response.Successful = false;
                }
            }
            catch (Exception ex)
            {
                response.Message    = ex.Message;
                response.Successful = false;
            }
            return(response);
        }
Пример #23
0
        public async Task <ActionResult <RequestResponse> > MfaAuth([FromBody] VerifyMfa mfaEnable)
        {
            try
            {
                if (mfaEnable is null || string.IsNullOrWhiteSpace(mfaEnable.MfaCode))
                {
                    return(BadRequest(RequestResponse.BadRequest("Mfa code is required for verification.")));
                }

                var userName = User?.Identity?.Name;
                var userId   = User?.Claims.Where(x => x.Type == CustomClaims.USER_ID).FirstOrDefault()?.Value;

                if (string.IsNullOrWhiteSpace(userName) || string.IsNullOrWhiteSpace(userId))
                {
                    return(BadRequest(RequestResponse.BadRequest("Something went wrong trying to validate your request.")));
                }

                var userProperties = await firebaseDbService.GetUserProperties(userId);

                if (userProperties is null)
                {
                    return(NotFound(RequestResponse.NotFound("Error finding the data you are looking for.")));
                }

                if (!userProperties.IsMfaEnabled)
                {
                    return(BadRequest(RequestResponse.BadRequest("Mfa not enabled for this user.")));
                }

                var verified = twoFactorAuth.VerifyCode(userProperties.Secret, mfaEnable.MfaCode);

                if (!verified)
                {
                    return(BadRequest(RequestResponse.BadRequest("Invalid Mfa code provided. Please try again.")));
                }

                return(Ok(RequestResponse.Success()));
            }
            catch (Exception)
            {
                return(BadRequest(RequestResponse.BadRequest("Something went wrong trying to enable Mfa.")));
            }
        }
Пример #24
0
        public async Task <ActionResult <ApiResponse <UserProperties> > > EnableMfa()
        {
            try
            {
                var userName = User?.Identity?.Name;
                var userId   = User?.Claims.Where(x => x.Type == CustomClaims.USER_ID).FirstOrDefault()?.Value;

                if (string.IsNullOrWhiteSpace(userName) || string.IsNullOrWhiteSpace(userId))
                {
                    return(BadRequest(RequestResponse.BadRequest("Something went wrong trying to validate your request.")));
                }

                string secret;
                var    cacheKey   = $"{MFA_CACHE_KEY}{userId}";
                bool   doesExists = memoryCache.TryGetValue(cacheKey, out secret);

                var currentProperties = await firebaseDbService.GetUserProperties(userId);

                if (currentProperties != null && currentProperties.IsMfaEnabled)
                {
                    memoryCache.Remove(cacheKey);
                    memoryCache.Set(cacheKey, currentProperties.Secret, cacheEntryOptions);
                    currentProperties.Account = userName;
                    currentProperties.Issuer  = issuer;
                    return(Ok(new ApiResponse <UserProperties>(currentProperties)));
                }

                if (!doesExists)
                {
                    secret = twoFactorAuth.CreateSecret(160);
                    memoryCache.Set(cacheKey, secret, cacheEntryOptions);
                    var result = new UserProperties(userId, secret, issuer, userName);
                    return(Ok(new ApiResponse <UserProperties>(result)));
                }

                var cacheResult = new UserProperties(userId, secret, issuer, userName);
                return(Ok(new ApiResponse <UserProperties>(cacheResult)));
            }
            catch (Exception)
            {
                return(BadRequest(RequestResponse.BadRequest("Something went wrong trying to enable Mfa.")));
            }
        }
Пример #25
0
        public LoginResult GetRequestVerificationToken(Uri uri, bool sisi, out string verificationToken)
        {
            Response response;

            verificationToken = null;

            var req = RequestResponse.CreateGetRequest(uri, sisi, true, "URL", Cookies);

            req.ContentLength = 0;

            var result = RequestResponse.GetHttpWebResponse(req, UpdateCookieStorage, out response);

            if (result == LoginResult.Success)
            {
                verificationToken = RequestResponse.GetRequestVerificationTokenResponse(response);
            }

            return(result);
        }
        public RequestResponse getResponse(RequestResponse recievedResponse)
        {
            var sendResponse      = new RequestResponse();
            var requestvalidator  = new RequestResponseValidation();
            var suggestionPathObj = new SuggestionPaths();

            if (requestvalidator.IsChoicesMade(recievedResponse.ChoiceDictionary[recievedResponse.Layer]))
            {
                sendResponse.Layer            = suggestionPathObj.NextLayer(recievedResponse.Layer);
                sendResponse.LayerMembers     = suggestionPathObj.NextLayerMembers(recievedResponse.ChoiceDictionary[recievedResponse.Layer]);
                sendResponse.ChoiceDictionary = recievedResponse.ChoiceDictionary;
                return(sendResponse);
            }
            else
            {
                sendResponse.Layer = "Invalid RequestResponse Sent";
                return(sendResponse);
            }
        }
Пример #27
0
        public async Task <RequestResponse> DeleteRoleAsync(DeleteRoleCommand role)
        {
            var existRole = await _roleManager.FindByIdAsync(role.Id.ToString());

            if (existRole == null)
            {
                throw new Exception("The role doesn't exist");
            }
            var users = await _userManager.GetUsersInRoleAsync(existRole.Name);

            if (users.Count > 0)
            {
                throw new Exception("The role has users assigned");
            }

            await _roleManager.DeleteAsync(existRole);

            return(RequestResponse.Success());
        }
Пример #28
0
        public RequestResponse Create([FromBody] Shop request)
        {
            var response = new RequestResponse();

            try
            {
                request.Id = Guid.NewGuid().ToString();
                ShopDac.Create(request);

                response.Code    = 200;
                response.Message = "success.";
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = "error: " + ex.Message;
            }
            return(response);
        }
Пример #29
0
        public async Task <RequestResponse> CreateRoleAsync(CreateRoleCommand role)
        {
            var existRole = await _roleManager.FindByNameAsync(role.Name);

            if (existRole == null)
            {
                await _roleManager.CreateAsync(new AppRole
                {
                    Name           = role.Name,
                    NormalizedName = role.Name.ToUpper()
                });

                return(RequestResponse.Success());
            }
            else
            {
                throw new Exception("The role already exist");
            }
        }
Пример #30
0
        private void HandleUserLoginResult(NetworkPacket netPacket, string defaultChat, RequestLogin requestLogin, byte loginResult)
        {
            User user = new User(-1, "", null);

            switch (loginResult)
            {
            case RequestID.LOGIN_ACTION.LoginSuccess: {
                /*
                 *  Add user to chat users list
                 */
                user = AddUserToUserList(requestLogin.Username, netPacket.WorkSocket);

                /*
                 *  Send login request response to the user
                 */
                RequestResponse requestResponse = new RequestResponse(RequestID.RequestResponse, user.UserID, RequestID.LoginRequestAction, loginResult);
                NetworkPacket   response        = new NetworkPacket(netPacket.WorkSocket, requestResponse.Serialize());
                //TODO Handle send error
                int result = networkManager.Send(response);

                AddUserToChat(netPacket, defaultChat, user);
                break;
            }

            case RequestID.LOGIN_ACTION.LoginError:
            default: {
                /*
                 *  Send login request response to the user
                 */
                RequestResponse requestResponse = new RequestResponse(RequestID.RequestResponse, user.UserID, RequestID.LoginRequestAction, loginResult);
                NetworkPacket   response        = new NetworkPacket(netPacket.WorkSocket, requestResponse.Serialize());
                //TODO Handle send error
                int result = networkManager.Send(response);

                /*
                 *  Close user's socket on login error
                 */
                netPacket.CloseSocket();
                break;
            }
            }
        }
Пример #31
0
        public static async Task <RequestResponse> PostAsync(string url, string param, string token = null)
        {
            RequestResponse res = null;

            try
            {
                byte[] payload = Encoding.UTF8.GetBytes(param);
                var    request = (HttpWebRequest)WebRequest.Create(url);
                request.Method        = "POST";
                request.ContentType   = "application/json;charset=UTF-8";
                request.ContentLength = payload.Length;
                if (!string.IsNullOrEmpty(token))
                {
                    request.Headers.Add("access_token", token);
                }
                var   streamTask = request.GetRequestStreamAsync();
                await streamTask;
                if (streamTask.Result == null)
                {
                    return(res);
                }
                Stream writer = streamTask.Result;
                writer.Write(payload, 0, payload.Length);
                writer.Close();

                var   resTask = request.GetResponseAsync();
                await resTask;
                if (!(resTask.Result is HttpWebResponse response))
                {
                    return(res);
                }
                Stream       readStream = response.GetResponseStream();
                StreamReader Reader     = new StreamReader(readStream, Encoding.UTF8);
                res = JsonSrialize.Desrialize <RequestResponse>(Reader.ReadLine());
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }

            return(res);
        }
Пример #32
0
        public RequestResponse Edit([FromBody] Shop request)
        {
            var response = new RequestResponse();

            try
            {
                var shop = ShopDac.Get(s => s.Id == request.Id);
                shop.Name = request.Name;
                ShopDac.UpdateOne(s => s.Id == request.Id, shop);

                response.Code    = 200;
                response.Message = "success.";
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = "error: " + ex.Message;
            }
            return(response);
        }
Пример #33
0
        public RequestResponse SetDefaultMenu(string shopid, string defaultmenuid)
        {
            var response = new RequestResponse();

            try
            {
                var shop = ShopDac.Get(s => s.Id == shopid);
                shop.DefaultMenuId = defaultmenuid;
                ShopDac.UpdateOne(s => s.Id == shopid, shop);

                response.Code    = 200;
                response.Message = "success.";
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = "error: " + ex.Message;
            }
            return(response);
        }
Пример #34
0
        public RequestResponse DeleteMenu(string menuid, string shopid)
        {
            var response = new RequestResponse();

            try
            {
                var shop = ShopDac.Get(s => s.Id == shopid);
                shop.Menues = shop.Menues.Where(m => m.Id != menuid).ToList();
                ShopDac.UpdateOne(s => s.Id == shopid, shop);

                response.Code    = 200;
                response.Message = "success.";
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = "error: " + ex.Message;
            }
            return(response);
        }
        public void Delete_Called_CallsDeleteOnClient()
        {
            // Given
            var response = new RequestResponse { Item = new Request { Id = 1 } };
            _client.Setup(b => b.Get<RequestResponse>(It.IsAny<Uri>())).Returns(response);
            var requestResource = new RequestResource(_client.Object);

            // When
            requestResource.Delete(321);

            // Then
            _client.Verify(c => c.Delete(It.IsAny<Uri>()));
        }
Пример #36
0
		/// <summary>
		/// Makes the get request asynchronous to the cloud api
		/// </summary>
		/// <param name="method">The method to call i.e. devices</param>
		/// <returns>The results of the request.</returns>
		public virtual async Task<RequestResponse> MakeGetRequestAsync(String method)
		{
			if (String.IsNullOrWhiteSpace(method))
			{
				throw new ArgumentNullException(nameof(method));
			}

			if (authResults == null)
			{
				throw new ParticleAuthenticationExeption(String.Format(Messages.YouMusthAuthenticateBeforeCalling, method));
			}


			client.DefaultRequestHeaders.Clear();
			client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResults.AccessToken);
			HttpResponseMessage response = await client.GetAsync(method);
			var str = await response.Content.ReadAsStringAsync();
			RequestResponse rr = new RequestResponse();
			rr.StatusCode = response.StatusCode;
			rr.Response = await Task.Run(() => JToken.Parse(str));

			return rr;
		}
Пример #37
0
		/// <summary>
		/// Makes the put request asynchronous to the particle cloud
		/// </summary>
		/// <param name="method">The method to call</param>
		/// <param name="arguments">The arguments to pass during the call</param>
		/// <returns>The results of the request</returns>
		public virtual async Task<RequestResponse> MakePutRequestAsync(String method, params KeyValuePair<String, String>[] arguments)
		{
			if (String.IsNullOrWhiteSpace(method))
			{
				throw new ArgumentNullException(nameof(method));
			}

			if (authResults == null)
			{
				throw new ParticleAuthenticationExeption(String.Format(RH.C.GetString("YouMusthAuthenticateBeforeCalling"), method));
			}

			client.DefaultRequestHeaders.Clear();
			client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResults.AccessToken);

			HttpResponseMessage response;
			if (arguments != null)
			{
				response = await client.PutAsync(method, new FormUrlEncodedContent(arguments));
			}
			else
			{
				response = await client.PutAsync(method, null);
			}
			var str = await response.Content.ReadAsStringAsync();
			RequestResponse rr = new RequestResponse();
			rr.StatusCode = response.StatusCode;
			rr.Response = await Task.Run(() => JToken.Parse(str));

			return rr;
		}
Пример #38
0
    public RequestResponse requestToken(String APIusername, String APIpassword, String transID, String amount, String referenceField, String MSISDN, String MerchantAMN)
    {
        //APIusername = "******";
            //APIpassword = "******";

            Assignvalues(APIusername, APIpassword, transID, amount, referenceField, MSISDN, MerchantAMN);
            RequestResponse ResponseData = new RequestResponse();
            ResponseData.Status = requestres.Status;
            ResponseData.TransID = requestres.TransID;
            ResponseData.Amount = requestres.Amount;
            ResponseData.ReferenceField = requestres.ReferenceField;
            ResponseData.MSISDN = requestres.MSISDN;
            ResponseData.Message = requestres.Message;

            return ResponseData;
    }
Пример #39
0
		/// <summary>
		/// Makes the post request without authentication asynchronous to the particle cloud.
		/// </summary>
		/// <param name="method">The method.</param>
		/// <param name="arguments">The arguments.</param>
		/// <returns>The Results of the request</returns>
		public virtual async Task<RequestResponse> MakePostRequestWithoutAuthAsync(String method, params KeyValuePair<String, String>[] arguments)
		{
			if (String.IsNullOrWhiteSpace(method))
			{
				throw new ArgumentNullException(nameof(method));
			}

			client.DefaultRequestHeaders.Clear();

			HttpResponseMessage response;
			if (arguments != null)
			{
				response = await client.PostAsync(method, new FormUrlEncodedContent(arguments));
			}
			else
			{
				response = await client.PostAsync(method, null);
			}
			var str = await response.Content.ReadAsStringAsync();
			RequestResponse rr = new RequestResponse();
			rr.StatusCode = response.StatusCode;
			rr.Response = await Task.Run(() => JToken.Parse(str));

			return rr;
		}
        public void Put_RequestHasNoId_ThrowsException()
        {
            // Given
            var response = new RequestResponse { Item = new Request { Subject = "blah blah" } };
            var request = new RequestRequest { Item = new Request { Subject = "blah blah" } };
            _client.Setup(b => b.Put<RequestResponse>(It.IsAny<Uri>(), request, "application/json")).Returns(response);
            var requestResource = new RequestResource(_client.Object);

            // When, Then
            Assert.Throws<ArgumentException>(() => requestResource.Put(request));
        }