ConoHa-CLIの進捗報告。 まだちゃんと全てを切り出せたわけではないが、
現状
- ログイン処理の外出し
- 時刻の比較
- ログインの再実行
ログイン処理の外出し
ログインコマンドは出来上がった。
ConoHaのAPIへ接続し、TokenIdを持ち帰り~/.config/conoha.toml
に吐き出せるようになった。
しかし、このTokenIdはわずか1日しか有効期限がない上、APIの殆どはTokenIdを求めてくる。
現状の作りでは日付を跨ぐ度にTokenIdの有効期限が切れていますエラーを食らい、 その度にログインコマンドを打ち込む作業が待っている。
ログイン処理を抽象化して取り出す必要がある。
早速プロジェクトルートにutil
というディレクトリを作成した。
(ベストプラクティスはまだ良くわかっていないが、公開して有識者の目に止まればPRでも貰えるだろう)
時刻の比較
まずは時刻。 トークン時刻が期限切れか否かを確かめる方法がよく分からない。 Time同士の比較はないのか? 一度Unixタイムに変換して数値同士で比較するように修正した。
ログインの再実行
トークンが古ければもう一度ログインを試みて取得しなおすように修正。 Golangだと処理的になってしまうなぁ……色々とださいがまぁまぁええわ。
動くの大事。 最低限体裁を整えたので一度完了として次へ
Next…
Mac以外のHomedirectoryも取得出来るようにしたい