Study further more

進捗出します

【Puma Code Reading 1回目】:Bug Fix - MiniSSL::Socket#write - use data.byteslice(wrote..-1) #2543 を読んだ

毎日PumaとRailsの新しく投稿されたPRを読んで、2ヶ月以内にコントリビュートを目指す個人的な挑戦をしています。

 

今日は、PumaのPRを読んでみました。

 

まず新着のIssueをチェックしました

github.com

 

 

リバプロにNginxを使って、バックエンドにSSLモードで起動した ver5.2のpumaを使ってる時にバグが起こっているよう。

具体的には、44kbよりも大きいレスポンスをpumaが返すときにエラーが発生するようです。

 

これに対して、すでに5日前ほどにパッチが作成され、すでにmergeされているとのこと

 

github.com

 

このPRを読んでいこうと思いましたが、なんと1行。。

 

SSLで起動したPumaがクライアントにレスポンスを返す際に、

data.byteslice(wrote..-1)

とバイト列で返すようなパッチを作成していました。

 

ふーむ、これでなぜ正常に動くようになるのか。

 

PR上で議論が繰り広げられていましたが、個人的に疲れたので今日はこれくらいで読むのをやめました。

他にもpuma/test以下のテストスイートを読んでいました。

pumaってrspecではなく、minitestで書かれているんですね。

 

一旦今日はこれまでにします。