Bracket.RackResponse.AddHeader C# (CSharp) Метод

AddHeader() публичный Метод

public AddHeader ( string key, string value ) : void
key string
value string
Результат void
        public void AddHeader(string key,string value)
        {
            Headers.Add(key, value);
        }

Usage Example

Пример #1
0
        public void HandleRequest(RackRequest rackRequest, RackResponse response)
        {
            ScriptScope requestScope;
            //TODO:Probably not necessary
            lock (this)
                requestScope = Ruby.Engine.ScriptEngine.CreateScope();

            Hash envHash = rackRequest.ToRubyHash(Ruby.Engine.Context);
            var rubyResponse = Ruby.Engine.ExecuteMethod<RubyArray>(_rackApplication, "call", envHash);

            try
            {
                response.Status = (int)rubyResponse[0];
                if (rubyResponse[1] != null && rubyResponse[1] is Hash)
                {
                    var headers = (Hash)rubyResponse[1];
                    foreach (KeyValuePair<object, object> header in headers)
                    {
                        foreach (string value in header.Value.ToString().Split('\n'))
                        {
                            response.AddHeader(header.Key.ToString(), value);
                        }
                    }
                }

                requestScope.SetVariable("__body__", rubyResponse[2]);
                requestScope.SetVariable("__response__", response);
                Ruby.Engine.Execute("__body__.each { |part| __response__.write part  }", requestScope);

                response.Flush();

            }
            finally
            {
                Ruby.Engine.Execute("__body__.close if __body__.respond_to?(:close)", requestScope);
            }
        }