package diagnostic
import "github.com/dotcloud/docker/libnetwork/diagnostic"
Index ¶
- func DebugHTTPForm(r *http.Request)
- func HTTPReply(w http.ResponseWriter, r *HTTPResult, j *JSONOutput) (int, error)
- type ErrorCmd
- type HTTPResult
- func CommandSucceed(result StringInterface) *HTTPResult
- func FailCommand(err error) *HTTPResult
- func WrongCommand(message, usage string) *HTTPResult
- func (h *HTTPResult) String() string
- type JSONOutput
- type NetworkStatsResult
- type PeerEntryObj
- type Server
- func New() *Server
- func (s *Server) Enable(ip string, port int)
- func (s *Server) Enabled() bool
- func (s *Server) Handle(pattern string, handler http.Handler)
- func (s *Server) HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
- func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (s *Server) Shutdown()
- type StringCmd
- type StringInterface
- type TableEndpointsResult
- type TableEntryObj
- type TableObj
- type TablePeersResult
- type UsageCmd
Functions ¶
func DebugHTTPForm ¶
DebugHTTPForm helper to print the form url parameters
func HTTPReply ¶
func HTTPReply(w http.ResponseWriter, r *HTTPResult, j *JSONOutput) (int, error)
HTTPReply helper function that takes care of sending the message out
Types ¶
type ErrorCmd ¶
type ErrorCmd struct { Error string `json:"error"` }
ErrorCmd command with error
func (*ErrorCmd) String ¶
type HTTPResult ¶
type HTTPResult struct { Message string `json:"message"` Details StringInterface `json:"details"` }
HTTPResult Diagnostic Server HTTP result operation
func CommandSucceed ¶
func CommandSucceed(result StringInterface) *HTTPResult
CommandSucceed creates a success message
func FailCommand ¶
func FailCommand(err error) *HTTPResult
FailCommand creates a failure message with error
func WrongCommand ¶
func WrongCommand(message, usage string) *HTTPResult
WrongCommand creates a wrong command response
func (*HTTPResult) String ¶
func (h *HTTPResult) String() string
type JSONOutput ¶
type JSONOutput struct {
// contains filtered or unexported fields
}
JSONOutput contains details on JSON output printing
func ParseHTTPFormOptions ¶
func ParseHTTPFormOptions(r *http.Request) (bool, *JSONOutput)
ParseHTTPFormOptions easily parse the JSON printing options
type NetworkStatsResult ¶
NetworkStatsResult network db stats related to entries and queue len for a network
func (*NetworkStatsResult) String ¶
func (n *NetworkStatsResult) String() string
type PeerEntryObj ¶
PeerEntryObj entry in the networkdb peer table
func (*PeerEntryObj) String ¶
func (p *PeerEntryObj) String() string
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server when the debug is enabled exposes a This data structure is protected by the Agent mutex so does not require and additional mutex here
func New ¶
func New() *Server
New creates a new diagnostic server
func (*Server) Enable ¶
Enable opens a TCP socket to debug the passed network DB
func (*Server) Enabled ¶
Enabled returns true when the debug is enabled
func (*Server) Handle ¶
Handle registers the handler for the given pattern, replacing any existing handler.
func (*Server) HandleFunc ¶
Handle registers the handler function for the given pattern, replacing any existing handler.
func (*Server) ServeHTTP ¶
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP this is the method called bu the ListenAndServe, and is needed to allow us to use our custom mux
func (*Server) Shutdown ¶
func (s *Server) Shutdown()
Shutdown stop the debug and closes the tcp socket
type StringCmd ¶
type StringCmd struct { Info string `json:"info"` }
StringCmd command with info string
func (*StringCmd) String ¶
type StringInterface ¶
type StringInterface interface { String() string }
StringInterface interface that has to be implemented by messages
type TableEndpointsResult ¶
type TableEndpointsResult struct { TableObj Elements []TableEntryObj `json:"entries"` }
TableEndpointsResult fully typed message for proper unmarshaling on the client side
type TableEntryObj ¶
type TableEntryObj struct { Index int `json:"-"` Key string `json:"key"` Value string `json:"value"` Owner string `json:"owner"` }
TableEntryObj network db table entry object
func (*TableEntryObj) String ¶
func (t *TableEntryObj) String() string
type TableObj ¶
type TableObj struct { Length int `json:"size"` Elements []StringInterface `json:"entries"` }
TableObj network db table object
func (*TableObj) String ¶
type TablePeersResult ¶
type TablePeersResult struct { TableObj Elements []PeerEntryObj `json:"entries"` }
TablePeersResult fully typed message for proper unmarshaling on the client side
type UsageCmd ¶
type UsageCmd struct { Usage string `json:"usage"` }
UsageCmd command with usage field
func (*UsageCmd) String ¶
Source Files ¶
- Version
- v28.1.1+incompatible (latest)
- Published
- Apr 18, 2025
- Platform
- linux/amd64
- Imports
- 11 packages
- Last checked
- 4 hours ago –
Tools for package owners.