Skip to content

Commit

Permalink
Use request Context() in API handlers
Browse files Browse the repository at this point in the history
Request object has its own context which must be used during a request
lifetime instead of just context.Background()

[NO NEW TESTS NEEDED]

Signed-off-by: Vladimir Kochnev <[email protected]>
  • Loading branch information
marshall-lee committed Aug 18, 2022
1 parent b9fb60c commit e48681e
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 10 deletions.
3 changes: 1 addition & 2 deletions pkg/api/handlers/compat/auth.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package compat

import (
"context"
"encoding/json"
"errors"
"fmt"
Expand Down Expand Up @@ -44,7 +43,7 @@ func Auth(w http.ResponseWriter, r *http.Request) {

fmt.Println("Authenticating with existing credentials...")
registry := stripAddressOfScheme(authConfig.ServerAddress)
if err := DockerClient.CheckAuth(context.Background(), sysCtx, authConfig.Username, authConfig.Password, registry); err == nil {
if err := DockerClient.CheckAuth(r.Context(), sysCtx, authConfig.Username, authConfig.Password, registry); err == nil {
utils.WriteResponse(w, http.StatusOK, entities.AuthReport{
IdentityToken: "",
Status: "Login Succeeded",
Expand Down
2 changes: 1 addition & 1 deletion pkg/api/handlers/compat/images_build.go
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
success bool
)

runCtx, cancel := context.WithCancel(context.Background())
runCtx, cancel := context.WithCancel(r.Context())
go func() {
defer cancel()
imageID, _, err = runtime.Build(r.Context(), buildOptions, containerFiles...)
Expand Down
5 changes: 2 additions & 3 deletions pkg/api/handlers/libpod/containers_create.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package libpod

import (
"context"
"encoding/json"
"fmt"
"net/http"
Expand Down Expand Up @@ -63,12 +62,12 @@ func CreateContainer(w http.ResponseWriter, r *http.Request) {
utils.InternalServerError(w, err)
return
}
rtSpec, spec, opts, err := generate.MakeContainer(context.Background(), runtime, &sg, false, nil)
rtSpec, spec, opts, err := generate.MakeContainer(r.Context(), runtime, &sg, false, nil)
if err != nil {
utils.InternalServerError(w, err)
return
}
ctr, err := generate.ExecuteCreate(context.Background(), runtime, rtSpec, spec, false, opts...)
ctr, err := generate.ExecuteCreate(r.Context(), runtime, rtSpec, spec, false, opts...)
if err != nil {
utils.InternalServerError(w, err)
return
Expand Down
2 changes: 1 addition & 1 deletion pkg/api/handlers/libpod/images_push.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func PushImage(w http.ResponseWriter, r *http.Request) {

// Let's keep thing simple when running in quiet mode and push directly.
if query.Quiet {
if err := imageEngine.Push(context.Background(), source, destination, options); err != nil {
if err := imageEngine.Push(r.Context(), source, destination, options); err != nil {
utils.Error(w, http.StatusBadRequest, fmt.Errorf("error pushing image %q: %w", destination, err))
return
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/api/handlers/libpod/manifests.go
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ func ManifestPushV3(w http.ResponseWriter, r *http.Request) {
options.SkipTLSVerify = types.NewOptionalBool(!query.TLSVerify)
}
imageEngine := abi.ImageEngine{Libpod: runtime}
digest, err := imageEngine.ManifestPush(context.Background(), source, query.Destination, options)
digest, err := imageEngine.ManifestPush(r.Context(), source, query.Destination, options)
if err != nil {
utils.Error(w, http.StatusBadRequest, fmt.Errorf("error pushing image %q: %w", query.Destination, err))
return
Expand Down Expand Up @@ -367,7 +367,7 @@ func ManifestPush(w http.ResponseWriter, r *http.Request) {

// Let's keep thing simple when running in quiet mode and push directly.
if query.Quiet {
digest, err := imageEngine.ManifestPush(context.Background(), source, destination, options)
digest, err := imageEngine.ManifestPush(r.Context(), source, destination, options)
if err != nil {
utils.Error(w, http.StatusBadRequest, fmt.Errorf("error pushing image %q: %w", destination, err))
return
Expand Down
2 changes: 1 addition & 1 deletion pkg/api/handlers/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ type ExecStartConfig struct {

func ImageDataToImageInspect(ctx context.Context, l *libimage.Image) (*ImageInspect, error) {
options := &libimage.InspectOptions{WithParent: true, WithSize: true}
info, err := l.Inspect(context.Background(), options)
info, err := l.Inspect(ctx, options)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit e48681e

Please sign in to comment.