mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-19 12:07:18 +02:00
core: fix graceful stop (#4865)
* core/grpc: fix graceful stop * core/http: add graceful stop serve
This commit is contained in:
parent
c9df5156d4
commit
7eb7861f2c
7 changed files with 311 additions and 48 deletions
|
@ -64,3 +64,25 @@ func (mc *mergedCtx) Value(key interface{}) interface{} {
|
|||
}
|
||||
return mc.doneCtx.Value(key)
|
||||
}
|
||||
|
||||
type onlyValues struct {
|
||||
context.Context
|
||||
}
|
||||
|
||||
// OnlyValues returns a derived context that removes deadlines and cancellation,
|
||||
// but keeps values.
|
||||
func OnlyValues(ctx context.Context) context.Context {
|
||||
return onlyValues{ctx}
|
||||
}
|
||||
|
||||
func (o onlyValues) Deadline() (time.Time, bool) {
|
||||
return time.Time{}, false
|
||||
}
|
||||
|
||||
func (o onlyValues) Done() <-chan struct{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o onlyValues) Err() error {
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue