Twitter#update_with_mediaとマルチバイト文字の話

とあるJPEG画像に添えるテキストが、「いい」なら投稿に成功し、「いいね」だと投稿に成功しない。これなーんだ?

TwitterのGemを使わず、Net::HTTPで送信した場合は問題ない様子。Net::HTTPバージョンでは「いいね」がたまたま通るパターンかもしれない。

時間ができ次第、Twitter Gemの中身を見てみる予定。メモのみ。

追記:2011/09/13

WebMockを使ってリクエスト内容をダンプしてみたところ、「あい」の場合のContent-Lengthは72539で、「あいう」の場合のContent-Lengthは72540ということがわかった。faraday gemの中で、body.length.to_sをContent-Lengthヘッダの値にセットしている箇所があるので、Ruby 1.9系で遭遇する問題な気がする。

faradayが使っているmultipart-postというgemで、マルチパートの各パーツの長さを調べるところでString#lengthを使ってしまっている様子。