Exemple #1
0
        // Accidentally quadratic, I know.
        // But n is small and I like the ergonomics of doing it this way.
        public HttpResponse SetHeader(string name, string value)
        {
            int?found = null;

            if (ExtraHeaders == null)
            {
                ExtraHeaders = new List <HttpHeader>();
            }
            else
            {
                for (int i = 0; i < ExtraHeaders.Count; i++)
                {
                    if (ExtraHeaders[i].Name == name)
                    {
                        found = i;
                        break;
                    }
                }
            }

            var header = new HttpHeader {
                Name = name, Value = value
            };

            if (found.HasValue)
            {
                ExtraHeaders[found.Value] = header;
            }
            else
            {
                ExtraHeaders.Add(header);
            }

            return(this);
        }
Exemple #2
0
 public DenialException(HttpStatusCode statusCode, string errorCode, params object[] parameters)
     : base(errorCode)
 {
     ContentValue = new ExceptionContent {
         ErrorCode = errorCode, Parameters = parameters
     };
     StatusCode = statusCode;
     ExtraHeaders.Add("Status-Reason", "validation-failed");
 }
Exemple #3
0
        /// <summary>
        /// Adds a header. Note that this will not override the header if it was already set - both
        /// instances will be sent. Therefore, you should use this only for headers that may be
        /// duplicated (according to HTTP) and SetHeader() for everything else.
        /// </summary>
        /// <param name="name">The header name.</param>
        /// <param name="value">The header value.</param>
        /// <returns>The modified HttpResponse.</returns>
        public HttpResponse AddHeader(string name, string value)
        {
            if (ExtraHeaders == null)
            {
                ExtraHeaders = new List <HttpHeader>();
            }

            ExtraHeaders.Add(new HttpHeader {
                Name = name, Value = value
            });
            return(this);
        }