File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # 2.0.1
2+
3+ - Correctly initialise ` Rack::Headers ` instance for events containing ` multiValueHeaders `
4+ _ Matthew Pickin_
5+
16# 2.0.0
27
38- Add support for Rack v3 (#44 )
Original file line number Diff line number Diff line change @@ -65,11 +65,11 @@ def parse_body(event)
6565
6666def parse_headers ( event )
6767 if event . include? 'multiValueHeaders'
68- Rack ::Headers . new (
68+ Rack ::Headers [
6969 ( event [ 'multiValueHeaders' ] || { } ) . transform_values do |value |
7070 value . join ( "\n " )
7171 end
72- )
72+ ]
7373 else
7474 Rack ::Headers [ event [ 'headers' ] || { } ]
7575 end
Original file line number Diff line number Diff line change 22
33Gem ::Specification . new do |s |
44 s . name = 'serverless-rack'
5- s . version = '2.0.0 '
5+ s . version = '2.0.1 '
66 s . summary =
77 'Serverless plugin to deploy Ruby Rack applications (Sinatra/Padrino/Cuba etc.) ' \
88 'and bundle gems'
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require_relative '../lib/serverless_rack'
4+
5+ RSpec . describe 'parse_headers' do
6+ let ( :event ) do
7+ {
8+ 'headers' => {
9+ 'Header1' => 'value1' ,
10+ 'HEADER2' => 'value2'
11+ }
12+ }
13+ end
14+
15+ it 'responds to lower-case keys' , :aggregate_failures do
16+ parsed_headers = parse_headers ( event )
17+
18+ expect ( parsed_headers [ 'header1' ] ) . to eq 'value1'
19+ expect ( parsed_headers [ 'Header2' ] ) . to eq 'value2'
20+ end
21+
22+ context 'with multiValuedHeaders' do
23+ let ( :event ) do
24+ {
25+ 'multiValueHeaders' => {
26+ 'Header1' => %w[ value1 value2 ] ,
27+ 'HEADER2' => [ 'value3' ]
28+ }
29+ }
30+ end
31+
32+ it 'joins the multi-value headers into a string' do
33+ expect ( parse_headers ( event ) [ 'Header1' ] ) . to eq "value1\n value2"
34+ end
35+
36+ it 'responds to lower-case keys' do
37+ expect ( parse_headers ( event ) [ 'header2' ] ) . to eq 'value3'
38+ end
39+ end
40+ end
You can’t perform that action at this time.
0 commit comments