コード例 #1
0
        private void AddHeadersFromTemplate(HttpResponse response, ResponseTemplate responseTemplate, MockacoOptions options)
        {
            if (responseTemplate?.Headers != null)
            {
                foreach (var header in responseTemplate.Headers)
                {
                    response.Headers.Add(header.Key, header.Value);
                }
            }

            if (string.IsNullOrEmpty(response.ContentType))
            {
                response.ContentType = options.DefaultHttpContentType;
            }
        }
コード例 #2
0
        public override string GetResponseBodyStringFromTemplate(ResponseTemplate responseTemplate)
        {
            var settings = new XmlWriterSettings
            {
                Indent = responseTemplate.Indented.GetValueOrDefault(true)
            };

            var stringBuilder = new StringBuilder();

            using (var writer = XmlWriter.Create(stringBuilder, settings))
            {
                var xmlDocument = new XmlDocument();
                xmlDocument.LoadXml(responseTemplate.Body?.ToString());
                xmlDocument.WriteContentTo(writer);
            }

            return(stringBuilder.ToString());
        }
コード例 #3
0
        public Task <byte[]> GetResponseBodyBytesFromTemplate(ResponseTemplate responseTemplate)
        {
            var responseBodyStringFromTemplate = GetResponseBodyStringFromTemplate(responseTemplate);

            return(Task.FromResult(responseBodyStringFromTemplate == default ? default : Encoding.UTF8.GetBytes(responseBodyStringFromTemplate)));
        }
コード例 #4
0
 public abstract bool CanHandle(ResponseTemplate responseTemplate);
コード例 #5
0
 public abstract string GetResponseBodyStringFromTemplate(ResponseTemplate responseTemplate);
コード例 #6
0
 public override bool CanHandle(ResponseTemplate responseTemplate)
 {
     return(true);
 }
コード例 #7
0
 public override string GetResponseBodyStringFromTemplate(ResponseTemplate responseTemplate)
 {
     return(responseTemplate.Body?.ToString());
 }
コード例 #8
0
 private int GetResponseStatusFromTemplate(ResponseTemplate responseTemplate, MockacoOptions options)
 {
     return(responseTemplate?.Status == default(HttpStatusCode)
                     ? (int)options.DefaultHttpStatusCode
                     : (int)responseTemplate.Status);
 }
コード例 #9
0
 public async Task <byte[]> GetResponseBodyBytesFromTemplate(ResponseTemplate responseTemplate)
 {
     if (string.IsNullOrEmpty(responseTemplate.File) && string.IsNullOrEmpty(responseTemplate.Body?.ToString()))
     {
         return(default);
コード例 #10
0
        public bool CanHandle(ResponseTemplate responseTemplate)
        {
            responseTemplate.Headers.TryGetValue(HttpHeaders.ContentType, out var contentType);

            return(contentType == HttpContentTypes.ApplicationOctetStream || !string.IsNullOrEmpty(responseTemplate.File));
        }
コード例 #11
0
        public override bool CanHandle(ResponseTemplate responseTemplate)
        {
            responseTemplate.Headers.TryGetValue(HttpHeaders.ContentType, out var contentType);

            return(contentType.IsAnyOf(HttpContentTypes.ApplicationXml, HttpContentTypes.TextXml));
        }
コード例 #12
0
        public override bool CanHandle(ResponseTemplate responseTemplate)
        {
            responseTemplate.Headers.TryGetValue(HttpHeaders.ContentType, out var contentType);

            return(contentType == null || contentType == HttpContentTypes.ApplicationJson);
        }
コード例 #13
0
        public override string GetResponseBodyStringFromTemplate(ResponseTemplate responseTemplate)
        {
            var formatting = responseTemplate.Indented.GetValueOrDefault(true) ? Formatting.Indented : default;

            return(responseTemplate.Body?.ToString(formatting));
        }
コード例 #14
0
 public Task <byte[]> GetResponseBodyBytesFromTemplate(ResponseTemplate responseTemplate)
 {
     if (responseTemplate == default)
     {
         return(Task.FromResult <byte[]>(default));