バグ #1031
完了twitpic の画像がひらけない
説明
twitpic が gzip で返してくるため、画像が開けなくなりました。
toshi_a 初音 さんが7年以上前に更新
- プラグイン名 を core/plugin/photo_support/photo_support.rb から photo_support に変更
たしかhttpclientにはdeflateされてる場合自動的に伸張する機能があったと思うのですが、現在呼び出してる get_content
メソッドではそれが行われないんですかね。(それにしてもRequest Headerにgzipをacceptするとは一言も書いてないのに…)
HTTPClientの機能を使えば、どのような形式でdeflateされているか判別してくれると思うので、その方法で伸張部分だけ書き換えて取り込むと思います
あひる 家鴨 さんが7年以上前に更新
HTTPClient の Session に deflate オプションがあるみたいです。
transparent_gzip_decompression
default value
デフォルト値が false みたいなので、これを true にしてあげるといいみたいです。
ただ、いまいち HTTPClient::Session の取り扱い方がわからないので、その辺はお任せしたいです。(丸投げ)
Izumi Tsutsui さんが7年以上前に更新
ツイートに書くだけでチケットに書いていませんでしたが
Twitpic のページが gzip されるというのは意図された挙動なのかよくわからない感じです。
- 当初から gzip されないもの
- http://twitpic.com/chi64v
- refs https://twitter.com/tsutsuii/status/853146623525830658
芝生氏の貼ってたこれは curl で取っても gzip なしっぽい https://twitpic.com/chi64v
- gzip されていたけどいつの間にかされなくなったもの
- http://twitpic.com/57cpo7
- http://twitpic.com/blr7h9
- refs https://twitter.com/tsutsuii/status/852935843442343936
っていうか mikutter photo で表示できなくなってるじゃん http://twitpic.com/blr7h9
- refs https://twitter.com/tsutsuii/status/853632857205465089
これ https://twitpic.com/57cpo7 は今は gzip されてない これ https://twitpic.com/blr7h9 はまだ gzip で降ってくる
- これを書いている4/22 23:58 時点で確認したところ後者も gzip されなくなっています
あと、チケットの本題からズレますが、 twitpic.com 自体も
http から https にリダイレクトされるようになったようなので
ブラウザからURLを貼るときのことを考えると https もマッチする
ようにしたほうがいいんですかね。
--- core/plugin/photo_support/photo_support.rb.orig 2017-04-08 07:35:59.000000000 +0000
+++ core/plugin/photo_support/photo_support.rb 2017-04-18 15:28:21.000000000 +0000
@@ -25,7 +25,7 @@
Plugin.create :photo_support do
# twitpic
- defimageopener('twitpic', %r<^http://twitpic\.com/[a-zA-Z0-9]+>) do |display_url|
+ defimageopener('twitpic', %r<^https?://twitpic\.com/[a-zA-Z0-9]+>) do |display_url|
connection = HTTPClient.new
page = connection.get_content(display_url)
next nil if page.empty?
Izumi Tsutsui さんが7年以上前に更新
有識者のコメントを貼り忘れました
https://twitter.com/toshi_a/status/853151511320252417
返信先: @tsutsuiiさん
多分、リクエストヘッダをちゃんと見てなくて、常に圧縮して送るようになっちゃってるとか、その状態でキャッシュしちゃってるとか、そのへんな気がする
Izumi Tsutsui さんが7年以上前に更新
6/3 時点で再度 gzip された html を返すページが存在しました。いずれにせよ対応は必要ですね……
https://twitter.com/tsutsuii/status/870843163186913280
https://twitpic.com/6985ru
toshi_a 初音 さんが7年以上前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から Izumi Tsutsui に変更
topic/1031-forever-twitpic ブランチにて修正しました。正しく動いてるか確認お願いできますか。
Izumi Tsutsui さんが7年以上前に更新
- ステータス を レビュー待ち から 解決 に変更
遅くなりましたが
3.5.8 + 8a428be3 で
https://twitter.com/tsutsuii/status/870842885540675589
の
https://twitpic.com/6985ru
の画像が curl では gzip されていて、かつ
mikutter の画像ビューアでもエラーなく表示されることを
確認しました。
Izumi Tsutsui さんが6年以上前に更新
twitpicも仕様が変わって画像だけしか無い html を返すようになりましたが、
いまだに gzip されたものが降ってくることがあるのかは確認できていません。
なので、誰も困っていないのかも……
Izumi Tsutsui さんが6年以上前に更新
と思ったら #1031#note-6 の https://twitpic.com/6985ru は gzip されてるっぽいです
% curl https://twitpic.com/blr7h9 | file - % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1973 100 1973 0 0 18100 0 --:--:-- --:--:-- --:--:-- 18100 /dev/stdin: HTML document, ASCII text, with very long lines mirage-% curl https://twitpic.com/6985ru | file - % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1067 100 1067 0 0 9971 0 --:--:-- --:--:-- --:--:-- 9971 /dev/stdin: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT) %
toshi_a 初音 さんが6年以上前に更新
- ステータス を まだダメ から レビュー待ち に変更
- ブランチ を master にセット
topic/1031-forever-twitpicをmasterにmergeしました。かなり期間が開いているので、masterでもう一度チェックしてもらえますか
Izumi Tsutsui さんが6年以上前に更新
pkgsrc では 3320adb9 相当のパッチが当たっているのでそのまま
https://twitter.com/tsutsuii/status/870842885540675589
の画像を開いてみましたが問題なくプレビューウインドウで表示可能でした。
終了でOKと思います。