Beispiel #1
0
        /// <summary>
        /// Adds an HttpResponseMessage to the response queue.
        /// </summary>
        /// <param name="content">The simulated response body content (optional).</param>
        /// <param name="status">The simulated HTTP status. Default is 200.</param>
        /// <param name="headers">The simulated response headers (optional).</param>
        /// <param name="cookies">The simulated response cookies (optional).</param>
        /// <returns>The current HttpTest object (so more responses can be chained).</returns>
        public HttpTest RespondWith(HttpContent content = null, int status = 200, object headers = null, object cookies = null)
        {
            var response = new HttpResponseMessage {
                StatusCode = (HttpStatusCode)status,
                Content    = content
            };

            if (headers != null)
            {
                foreach (var kv in headers.ToKeyValuePairs())
                {
                    response.Headers.Add(kv.Key, kv.Value.ToInvariantString());
                }
            }
            if (cookies != null)
            {
                foreach (var kv in cookies.ToKeyValuePairs())
                {
                    var value = new Cookie(kv.Key, kv.Value.ToInvariantString()).ToString();
                    response.Headers.Add("Set-Cookie", value);
                }
            }
            ResponseQueue.Enqueue(response);
            return(this);
        }
Beispiel #2
0
        private void HandleRequests()
        {
            while (true)
            {
                var request = requestQueue.Dequeue();
                if (request != null)
                {
//                    Console.WriteLine("Found Request Processing..");
//                    Console.WriteLine("command --> " + request.command);

                    var response = Commands.ProcessRequest(request);
                    responseQueue.Enqueue(new Response()
                    {
                        client = request.client,
                        reply  = response
                    });

//                    Console.WriteLine("Added Response to queue");
//                    Console.WriteLine("response --> " + response);
                }
                else
                {
                    Thread.Sleep(1);
                }
            }
        }
Beispiel #3
0
 /// <summary>
 /// Adds an HttpResponseMessage to the response queue with the given HTTP status code and the given data serialized to JSON as the content body.
 /// </summary>
 public HttpTest RespondWithJson(int status, object data)
 {
     ResponseQueue.Enqueue(new HttpResponseMessage {
         StatusCode = (HttpStatusCode)status,
         Content    = new CapturedJsonContent(FlurlHttp.GlobalSettings.JsonSerializer.Serialize(data))
     });
     return(this);
 }
Beispiel #4
0
 /// <summary>
 /// Adds an HttpResponseMessage to the response queue with the given HTTP status code and content body.
 /// </summary>
 public HttpTest RespondWith(int status, string body)
 {
     ResponseQueue.Enqueue(new HttpResponseMessage {
         StatusCode = (HttpStatusCode)status,
         Content    = new StringContent(body)
     });
     return(this);
 }
Beispiel #5
0
 /// <summary>
 /// Adds an HttpResponseMessage to the response queue with the given HTTP status code and the given data serialized to JSON as the content body.
 /// </summary>
 public HttpTest RespondWithJson(int status, object data)
 {
     ResponseQueue.Enqueue(new HttpResponseMessage {
         StatusCode = (HttpStatusCode)status,
         Content    = new CapturedJsonContent(data)
     });
     return(this);
 }
Beispiel #6
0
 //Thread Safe Queuing System
 static public void AddResponse(ResponsePacket _packet)
 {
     lock (ResponseQueue)
     {
         ResponseQueue.Enqueue(_packet);
     }
     WorkerWriteAvailable.Set();
 }
Beispiel #7
0
 /// <inheritdoc />
 public new HttpTest RespondWithJson(int status, object data)
 {
     ResponseQueue.Enqueue(new HttpResponseMessage
     {
         StatusCode = (HttpStatusCode)status,
         Content    = new CapturedJsonContent(OpenStackNet.Configuration.FlurlHttpSettings.JsonSerializer.Serialize(data))
     });
     return(this);
 }
Beispiel #8
0
 /// <summary>
 /// Adds a simulated timeout response to the response queue.
 /// </summary>
 public HttpTest SimulateTimeout()
 {
     ResponseQueue.Enqueue(new TimeoutResponseMessage());
     return(this);
 }
Beispiel #9
0
 public IActionResult UpdatePayment(UpdateResponse updateResponse)
 {
     ResponseQueue.Enqueue(updateResponse);
     return(Ok());
 }
 public void QueueResponse(int?status)
 {
     ResponseQueue.Enqueue(status);
 }
 public void QueueResponse(Exception ex)
 {
     ResponseQueue.Enqueue(ex);
 }
 public void QueueResponse(RestResponse response)
 {
     ResponseQueue.Enqueue(response);
 }