document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/pygment_trac.css" />');
document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/embed.css" />');
document.write('<div class="flowcoder_post flowcoder_clearfix">');
document.write('<div class="flowcoder_posttitle"><a href=\"http://flowcoder.com/97\">Rack middleware for modifying response headers<\/a></div>');
document.write('<div class="flowcoder_postbody flowcoder_syntax"><div class=\"highlight\"><pre><span class=\"k\">module<\/span> <span class=\"nn\">Rackables<\/span>\n  <span class=\"c1\"># Allows you to tap into the response headers hash. Example:<\/span>\n  <span class=\"c1\">#<\/span>\n  <span class=\"c1\">#   use Rackables::ResponseHeaders do |headers|<\/span>\n  <span class=\"c1\">#     headers[&#39;X-Foo&#39;] = &#39;bar&#39;<\/span>\n  <span class=\"c1\">#     headers.delete(&#39;X-Baz&#39;)<\/span>\n  <span class=\"c1\">#   end<\/span>\n  <span class=\"c1\">#<\/span>\n  <span class=\"k\">class<\/span> <span class=\"nc\">ResponseHeaders<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">initialize<\/span><span class=\"p\">(<\/span><span class=\"n\">app<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">block<\/span><span class=\"p\">)<\/span>\n      <span class=\"vi\">@app<\/span> <span class=\"o\">=<\/span> <span class=\"n\">app<\/span>\n      <span class=\"vi\">@block<\/span> <span class=\"o\">=<\/span> <span class=\"n\">block<\/span>\n    <span class=\"k\">end<\/span>\n\n    <span class=\"k\">def<\/span> <span class=\"nf\">call<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">)<\/span>\n      <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"vi\">@app<\/span><span class=\"o\">.<\/span><span class=\"n\">call<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">)<\/span>\n      <span class=\"n\">headers<\/span> <span class=\"o\">=<\/span> <span class=\"o\">::<\/span><span class=\"no\">Rack<\/span><span class=\"o\">::<\/span><span class=\"no\">Utils<\/span><span class=\"o\">::<\/span><span class=\"no\">HeaderHash<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"o\">[<\/span><span class=\"mi\">1<\/span><span class=\"o\">]<\/span><span class=\"p\">)<\/span>\n      <span class=\"vi\">@block<\/span><span class=\"o\">.<\/span><span class=\"n\">call<\/span><span class=\"p\">(<\/span><span class=\"n\">headers<\/span><span class=\"p\">)<\/span>\n      <span class=\"n\">response<\/span><span class=\"o\">[<\/span><span class=\"mi\">1<\/span><span class=\"o\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">headers<\/span>\n      <span class=\"n\">response<\/span>\n    <span class=\"k\">end<\/span>\n  <span class=\"k\">end<\/span>\n<span class=\"k\">end<\/span>\n<\/pre><\/div>\n</div>');
document.write('<div class="flowcoder_bottombar flowcoder_clearfix">');
document.write('<div class="flowcoder_postedby">Posted by <a href=\"http://flowcoder.com/gbuesing\">gbuesing<\/a> on <a href=\"http://flowcoder.com/\">Flowcoder<\/a></div>');
document.write('<div class="flowcoder_viewraw"><a href=\"http://flowcoder.com/97.txt\">view raw<\/a></div>');
document.write('</div></div>');
