api: log api error

This commit is contained in:
yusing 2025-03-07 02:11:52 +08:00
parent c166b12515
commit 6220d02f32
2 changed files with 10 additions and 2 deletions

View file

@ -30,7 +30,7 @@ func (d *dockerInfo) MarshalJSON() ([]byte, error) {
} }
func DockerInfo(w http.ResponseWriter, r *http.Request) { func DockerInfo(w http.ResponseWriter, r *http.Request) {
serveHTTP[dockerInfo, []dockerInfo](w, r, GetDockerInfo) serveHTTP[dockerInfo](w, r, GetDockerInfo)
} }
func GetDockerInfo(ctx context.Context, dockerClients DockerClients) ([]dockerInfo, gperr.Error) { func GetDockerInfo(ctx context.Context, dockerClients DockerClients) ([]dockerInfo, gperr.Error) {

View file

@ -6,6 +6,7 @@ import (
"github.com/coder/websocket" "github.com/coder/websocket"
"github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/container"
"github.com/docker/docker/pkg/stdcopy" "github.com/docker/docker/pkg/stdcopy"
"github.com/yusing/go-proxy/internal/logging"
"github.com/yusing/go-proxy/internal/net/gphttp" "github.com/yusing/go-proxy/internal/net/gphttp"
"github.com/yusing/go-proxy/internal/net/gphttp/gpwebsocket" "github.com/yusing/go-proxy/internal/net/gphttp/gpwebsocket"
"github.com/yusing/go-proxy/internal/utils/strutils" "github.com/yusing/go-proxy/internal/utils/strutils"
@ -55,6 +56,13 @@ func Logs(w http.ResponseWriter, r *http.Request) {
if err != nil { if err != nil {
return return
} }
writer := gpwebsocket.NewWriter(r.Context(), conn, websocket.MessageText) writer := gpwebsocket.NewWriter(r.Context(), conn, websocket.MessageText)
stdcopy.StdCopy(writer, writer, logs) //de-multiplex logs _, err = stdcopy.StdCopy(writer, writer, logs) // de-multiplex logs
if err != nil {
logging.Err(err).
Str("server", server).
Str("container", containerID).
Msg("failed to de-multiplex logs")
}
} }