koron / netupvim

Network updater for Vim (+kaoriya) on Windows
MIT License
43 stars 2 forks source link

Use conditional requests #30

Closed k-takata closed 8 years ago

k-takata commented 8 years ago

API回数制限の対策や、更新がなかったときの高速化のため、If-Modified-Since 等の条件リクエストを使うのはどうでしょうか。 https://developer.github.com/v3/#conditional-requests

koron commented 8 years ago

渡す時刻は anchor ですかね? 良いと思います!

koron commented 8 years ago

go-githubのインターフェースから要修正か~ どういうAPIがええんやろか…

k-takata commented 8 years ago

渡す時刻は anchor ですかね? 良いと思います!

時刻のフォーマットは修正が必要と思われます。

どういうAPIがええんやろか…

よく分からなかったのでとりあえずissueだけ立てましたw

koron commented 8 years ago

時刻のフォーマットは修正が必要と思われます。

実は DirectSource に関しては すでに anchor/pivot の値で If-Modified-Since で更新チェックしてるので、 そのあたりはバッチシ(CV:清霜)です

koron commented 8 years ago

もう超ベタに LatestIfModifiedSince() にしようw

koron commented 8 years ago

https://github.com/koron/go-github/commit/92fbbed2e046f450922912eb73e5c3f0a67b8b6a#diff-15036d5e0876436b1832c7721c9c7afdR25

こんな感じ。手元の簡単なテストでは、確かにRemainingが減らなくなった。

k-takata commented 8 years ago

早い! go-githubのAPIとしては、If-None-Matchもサポートしておくと良いかもしれませんね。(使うことあるのか分かりませんが。)

koron commented 8 years ago

@k-takata こっちも実装終わりました! テストしてくれると嬉しいかもw

If-None-Matchってことは ETag ですか? なんか良いI/F案があれば、という感じ。 今は超アドホックなんで。

koron commented 8 years ago

面倒なのでいきなりmasterにpushしちゃった (テヘペロ

koron commented 8 years ago

テストどうするべかなぁ

koron commented 8 years ago

とりあえず手元のテストは通りました。 golang 1.7beta2だと、ちょっとだめ

k-takata commented 8 years ago

こちらでも動作確認できました。

If-None-Matchってことは ETag ですか? なんか良いI/F案があれば、という感じ。

すみません。今のところ案はありません。

koron commented 8 years ago

go1.7beta2 でダメな件は次のissueにしました。 https://github.com/koron/go-arch/issues/2

ということでこっちは閉じます。