各 fetcher を route 文字列ベースのページネーションに切り替える#23
Conversation
Replace absolute_url()-based URL construction with passing route strings directly to Octocrab::get(), which already accepts any AsRef<str>. The UrlConstructor trait now exposes entrypoint_route() returning String instead of entrypoint() returning Option<Url>. This prepares for the upcoming octocrab bump where absolute_url() has been removed.
|
@n01e0 まず本 PR は 3 本に分割した octx 改修の 1 本目で、次の PR で octocrab を 0.49.x にバージョンアップするためのリファクタになっています。octocrab は 0.21 以降で また GHES の場合に leading slash を付けると path prefix |
n01e0
left a comment
There was a problem hiding this comment.
bump-octcrab の方のブランチ見ながらこっちにコメントしてました…
すみません 🙇
|
レビューありがとうございます!! |
Summary
octocrab 最新版では
Octocrab::absolute_url()が削除されており、次のメジャーバージョンアップに備えて、事前にこの依存を取り除きます。Changes
UrlConstructorトレイトのentrypoint() -> Option<Url>をentrypoint_route() -> Stringに変更self.octocrab.get(route_str, None::<&()>)に書き換え。後続ページは従来どおりget_page(&page.next)Octocrab::get<R, A: AsRef<str>, P>は route 文字列を直接受け取れるため、今の octocrab のままでこの変更は成立しますReview points
Cargo.tomlは変更なし。octocrab のバージョンは 0.8.13 のままreqwest::Urlの import は構造体のフィールド型として各所に残存しています。次のバージョンアップ PR で削除しますsrc/issues.rsのtest_convert_issue_model) は無改修で通りますContext
octx に GitHub App installation token 認証を追加する準備として、3 本に分割した PR のうちの 1 本目です。2 本目で octocrab を 0.49.x に上げ、3 本目で App 認証を追加します。
本 PR では
Cargo.tomlの version は上げません。3 本マージ完了後にまとめて bump する想定です。