package contextx import ( "context" "time" ) // ShrinkDeadline returns a new Context with proper deadline base on the given ctx and timeout. // And returns a cancel function as well. func ShrinkDeadline(ctx context.Context, timeout time.Duration) (context.Context, func()) { return context.WithTimeout(ctx, timeout) }