2:52 AM
Vaporのdoはthrowできないのでそれ用のdoを自分で書いて、でも同名で振る舞いが違うなって思ったのでした。
2:53 AM
extension EventLoopFuture { public func `do`(_ callback: @escaping (T) throws -> Void) throws -> EventLoopFuture<T> { return map(to: T.self) { t in try callback(t) return t } } }