예제 #1
0
        public static async Task <HttpResponse> WriteMock(this HttpResponse response, MockModel mock)
        {
            response.AddHeaders(mock.Headers);
            response.StatusCode  = mock.StatusCode;
            response.ContentType = $"{mock.ContentType}; charset={mock.Charset.ToLower()}";

            string body = mock.ContentType switch
            {
                "application/json" => ((Func <string>)(() =>
                {
                    object bodyObject = JsonSerializer.Deserialize <object>(mock.Body);
                    return(JsonSerializer.Serialize(bodyObject));
                }))(),

                _ => mock.Body
            };

            await response.WriteAsync(body);

            return(response);
        }