MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / initBackend

Method initBackend

internal/backend/handler.go:114–137  ·  view source on GitHub ↗
(
	meta metadata.ConnectionAuthenticatedMetadata,
	appConfig config.AppConfig,
	backendLogger log.Logger,
)

Source from the content-addressed store, hash-verified

112}
113
114func (n *networkHandler) initBackend(
115 meta metadata.ConnectionAuthenticatedMetadata,
116 appConfig config.AppConfig,
117 backendLogger log.Logger,
118) (sshserver.SSHConnectionHandler, metadata.ConnectionAuthenticatedMetadata, error) {
119 backend, failureReason := n.getConfiguredBackend(
120 appConfig,
121 backendLogger,
122 n.rootHandler.backendRequestsCounter.WithLabels(metrics.Label(MetricLabelBackend, string(appConfig.Backend))),
123 n.rootHandler.backendErrorCounter.WithLabels(metrics.Label(MetricLabelBackend, string(appConfig.Backend))),
124 )
125 if failureReason != nil {
126 return nil, meta, failureReason
127 }
128
129 // Inject security overlay
130 backend, failureReason = security.New(appConfig.Security, backend, n.logger)
131 if failureReason != nil {
132 return nil, meta, failureReason
133 }
134 n.backend = backend
135
136 return backend.OnHandshakeSuccess(meta)
137}
138
139func (n *networkHandler) getConfiguredBackend(
140 appConfig config.AppConfig,

Callers 1

OnHandshakeSuccessMethod · 0.95

Calls 5

getConfiguredBackendMethod · 0.95
LabelFunction · 0.92
NewFunction · 0.92
WithLabelsMethod · 0.65
OnHandshakeSuccessMethod · 0.65

Tested by

no test coverage detected