matsumoto-r/ngx_mruby — pull request #101 by qtkmz (2014-10-18 11:37:38+00:00)
Title: fix partial match of header name

# 概要

Nginx::Request#headers_in[] でヘッダーの値を取得しようとした場合、別のヘッダーの値が取得されてしまいます。
例えば、リクエストヘッダーが以下の場合に、Accept-Language ヘッダーの値を取得しようとすると、その戻り値が Accept ヘッダーの値になってしまいます。

- request header
```
Accept: text/html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ja,en-US;q=0.8,en;q=0.6
```

- code
```
req = Nginx::Request.new
Nginx::rputs "headers_in['Accept-Language']: #{req.headers_in['Accept-Language']}" # => text/html
Nginx::rputs "headers_in['Accept-Encoding']: #{req.headers_in['Accept-Encoding']}" # => text/html
```

# 問題箇所
ngx_mrb_get_request_header() にて、ヘッダー名の比較が前方一致比較になっています。

＃ 対処
ヘッダー名の比較では完全一致比較をするように修正しています。
また、取得処だけでなく、ヘッダー値をセットする場合の比較処理も修正しています。