http-rs/tide
tideというrust製async/awaitなhttpサーバのメンテナンスを最近よくやっています。
tide関連のhttp common typesも
github.com
自分でもmiddlewareを書いたりしています。
cloudfrontとかにある有効期限つきURLをtideで発行できるmiddleware
PullReq #35
Go製NoSQLであるcockroachDBのbuiltin関数で底をカスタムできる対数関数を導入しました。型の取り方が独特で、一部しか実装できませんでした…。
FWやNATの先にあるlinuxデバイスへ接続するツールshellhubでJWTのシークレットキーをハードコードせずに環境変数で指定できるようにしました。
Go製の赤黒木のじっそうにおいてlintを実施してみました。
Go製分散トレーシングのjaegerにおいて、errorパッケージの入れ替えをました。
最後にTidbクラスタの管理ツールであるtidb-operatorにおいて、loggingライブラリのaliasを取っ払う変更を入れました。
PullReq #34
baiduのOSS L7 load balancerであるbfeにおいて、staticファイルをサーブするmoduleで、リクエストしたファイルがもしgzで圧縮されていたら、圧縮ファイルを返せるようにした。
サーバ側のconfで圧縮ファイルがあれば返す設定を入れて、一応client側がgzipを解釈できるかを判定するために、clientからのHTTPリクエストヘッダにAccept-Encoding: gzipが含まれた場合、本機能を発動するように実装した。ファイルを返すときでも、その辺のヘッダ解釈をするのは当然なのか不明…。ただこれで良さそうだったのでmergeされたっぽい
c.f. Accept-Encoding - HTTP | MDN
go製のshellであるgoshで、historyコマンドがクラッシュするバグがあったので修正した。表示文字列を決めうちの値から文字列の長さで引き算して、その結果の数だけstrings.Repeatで空白をパディングする処理があったのですが、長いコマンドがあると、引き算の結果が負数になりstrings.Repeatがpanicになるので、長いコマンドの時はこの処理を実施しないようにした。
c.f. strings - The Go Programming Language