mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-06 20:10:11 +02:00
4a78989d9d
- main reason being it's a burden to always define sentinel errors at global scope, wrap them with `%w` instead of using a string directly - only use sentinel errors when it has to be checked using `errors.Is` - replace all usage of these sentinel errors in `fmt.Errorf` with direct strings that were in the sentinel error - exclude the sentinel error definition requirement from .golangci.yml - update unit tests to use ContainersError instead of ErrorIs so it stays as a "not a change detector test" without requiring a sentinel error
33 lines
703 B
Go
33 lines
703 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/qdm12/gluetun/internal/constants"
|
|
"github.com/qdm12/gluetun/internal/models"
|
|
)
|
|
|
|
type statusWrapper struct {
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
func (sw *statusWrapper) getStatus() (status models.LoopStatus, err error) {
|
|
status = models.LoopStatus(sw.Status)
|
|
switch status {
|
|
case constants.Stopped, constants.Running:
|
|
return status, nil
|
|
default:
|
|
return "", fmt.Errorf("invalid status: %s: possible values are: %s, %s",
|
|
sw.Status, constants.Stopped, constants.Running)
|
|
}
|
|
}
|
|
|
|
type portsWrapper struct {
|
|
Port uint16 `json:"port"` // TODO v4 remove
|
|
Ports []uint16 `json:"ports"`
|
|
}
|
|
|
|
type outcomeWrapper struct {
|
|
Outcome string `json:"outcome"`
|
|
}
|