【Puma Code Reading 1回目】:Bug Fix - MiniSSL::Socket#write - use data.byteslice(wrote..-1) #2543 を読んだ
毎日PumaとRailsの新しく投稿されたPRを読んで、2ヶ月以内にコントリビュートを目指す個人的な挑戦をしています。
今日は、PumaのPRを読んでみました。
まず新着のIssueをチェックしました
リバプロにNginxを使って、バックエンドにSSLモードで起動した ver5.2のpumaを使ってる時にバグが起こっているよう。
具体的には、44kbよりも大きいレスポンスをpumaが返すときにエラーが発生するようです。
これに対して、すでに5日前ほどにパッチが作成され、すでにmergeされているとのこと
このPRを読んでいこうと思いましたが、なんと1行。。
SSLで起動したPumaがクライアントにレスポンスを返す際に、
data.byteslice(wrote..-1)
とバイト列で返すようなパッチを作成していました。
ふーむ、これでなぜ正常に動くようになるのか。
PR上で議論が繰り広げられていましたが、個人的に疲れたので今日はこれくらいで読むのをやめました。
他にもpuma/test以下のテストスイートを読んでいました。
pumaってrspecではなく、minitestで書かれているんですね。
一旦今日はこれまでにします。