Esempio n. 1
0
        /// <summary>
        /// 获取海康加密的headers
        /// </summary>
        /// <param name="headers"></param>
        /// <param name="method"></param>
        /// <returns></returns>
        private static Dictionary <string, string> GetHikSecurityHeaders(HttpRequestHeaders headers, string method, string url, Dictionary <string, string> formData)
        {
            method = method.ToUpperInvariant();
            Dictionary <string, string> dic = new Dictionary <string, string> {
                { "method", method }
            };

            if (headers.Contains("accept"))
            {
                dic.Add("accept", headers.GetValues("accept-header")?.FirstOrDefault()?.Trim() ?? "");
            }
            if (headers.Any(o => o.Key.ToLower().Equals("content-type")))
            {
                dic.Add("content-type", headers.GetValues("content-type")?.FirstOrDefault()?.Trim() ?? "");
            }
            if (headers.Any(o => o.Key.ToLower().Equals("date")))
            {
                dic.Add("date", headers.GetValues("date")?.FirstOrDefault()?.Trim() ?? "");
            }
            if (headers.Any(o => o.Key.ToLower().Equals("headers")))
            {
                dic.Add("headers", headers.GetValues("headers")?.FirstOrDefault()?.Trim() ?? "");
            }
            dic.Add("url", BuildResource(url, headers, formData));

            return(dic);
        }
Esempio n. 2
0
        protected string GetHeader(HttpRequestHeaders headers, string key)
        {
            var header = headers.FirstOrDefault(a => a.Key.ToLower().Equals(key.ToLower()));

            if (headers == null || !headers.Any() || header.Key == null || string.IsNullOrEmpty(header.Value.FirstOrDefault()))
            {
                throw new LoginFaildException("请求的Header中必须要有AppId和Secrect信息!");
            }
            return(header.Value.FirstOrDefault());
        }
        /// <summary>
        /// Adds the specified header and its value into the <see cref="HttpHeaders"/> collection.
        /// </summary>
        /// <param name="headers">This <see cref="HttpRequestHeaders"/> instance.</param>
        /// <param name="name">The header to add to the collection.</param>
        /// <param name="value">The content of the header.</param>
        public static void AddIfNotExists(this HttpRequestHeaders headers, string name, string value)
        {
            // constants
            const StringComparison Compare = StringComparison.OrdinalIgnoreCase;

            // find
            var isExists = headers.Any(i => i.Key.Equals(name, Compare) && i.Value.Contains(value));

            // exit conditions
            if (isExists)
            {
                return;
            }
            headers.TryAddWithoutValidation(name, value);
        }
        public bool ContainsPrefix(string prefix)
        {
            var contains = _headers.Any(h => h.Key.Contains(HeaderPrefix + prefix));

            return(contains);
        }
Esempio n. 5
0
 public bool ContainsPrefix(string prefix)
 {
     return(_headers.Any(header => header.Key.Contains(XHeaderPrefix + prefix)));
 }
Esempio n. 6
0
 public bool ContainsPrefix(string prefix)
 {
     return(headers.Any(h => predicate(h, prefix)));
 }
Esempio n. 7
0
 private bool Header(HttpRequestHeaders headers, string name, string value)
 {
     return(headers.Any(h => h.Key == name && h.Value.First() == value));
 }