summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorMichał M. Sapka <michal@sapka.me>2023-02-01 18:15:59 +0100
committerMichał M. Sapka <michal@sapka.me>2023-02-01 18:15:59 +0100
commitfc7c2cfbbc897c3ad93d8c9a64919d2234e5534f (patch)
tree120ab7fdc5139654b48b7f20cea745a2e8e547cd /content
parent38465d4f8dcf74a5071559d24048c5e63d47a9bb (diff)
article for 2023-02-01
Diffstat (limited to 'content')
-rw-r--r--content/2023/http-headers-in-rails-hyphens-and-underscores.md18
-rw-r--r--content/2023/http-headers-in-rails-hyphens-and-underscores.md~10
2 files changed, 28 insertions, 0 deletions
diff --git a/content/2023/http-headers-in-rails-hyphens-and-underscores.md b/content/2023/http-headers-in-rails-hyphens-and-underscores.md
new file mode 100644
index 0000000..453e9eb
--- /dev/null
+++ b/content/2023/http-headers-in-rails-hyphens-and-underscores.md
@@ -0,0 +1,18 @@
+---
+title: "HTTP Headers in Rails: Hyphens, Underscores, and a terrible day"
+category: "engineering"
+abstract: Rack modyfies incomming requests's headers!
+date: 2023-02-01T18:00:51+01:00
+year: 2023
+draft: false
+tags: ['rack', 'ruby-on-rails', 'headers', 'magic']
+---
+Everyone's favorite magician, Ruby on Rails, does it again.
+
+As it [Rack modifies incoming requests' headers](https://github.com/rails/rails/blob/aaf7bed00338c3a97dbb12b3c82a30ae34e67876/actionpack/lib/action_dispatch/http/headers.rb#L12) and normalizes they keys. So, every time the client/proxy sends something cool like `A-HEADER`, the key is modified, so some characters become underscore. Therefore in Rails code need to access `A_HEADER`, and if I had known that yesterday, my day would be much more pleasant.
+
+> Also note that when headers are mapped to CGI-like variables by the Rack
+>
+> server, both dashes and underscores are converted to underscores.
+>
+> (as [per documentation](https://github.com/rails/rails/blob/aaf7bed00338c3a97dbb12b3c82a30ae34e67876/actionpack/lib/action_dispatch/http/headers.rb#L12)
diff --git a/content/2023/http-headers-in-rails-hyphens-and-underscores.md~ b/content/2023/http-headers-in-rails-hyphens-and-underscores.md~
new file mode 100644
index 0000000..80ae6a1
--- /dev/null
+++ b/content/2023/http-headers-in-rails-hyphens-and-underscores.md~
@@ -0,0 +1,10 @@
+---
+title: "Http Headers in Rails Hyphens and Underscores"
+category: "blog"
+abstract:
+date: 2023-02-01T18:00:51+01:00
+year:
+draft: false
+tags: []
+---
+