51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package extensionmiddlewaretest // import "go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest"
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"google.golang.org/grpc"
|
|
|
|
"go.opentelemetry.io/collector/component"
|
|
"go.opentelemetry.io/collector/extension"
|
|
"go.opentelemetry.io/collector/extension/extensionmiddleware"
|
|
)
|
|
|
|
var (
|
|
_ extension.Extension = (*baseExtension)(nil)
|
|
_ extensionmiddleware.HTTPClient = (*baseExtension)(nil)
|
|
_ extensionmiddleware.GRPCClient = (*baseExtension)(nil)
|
|
_ extensionmiddleware.HTTPServer = (*baseExtension)(nil)
|
|
_ extensionmiddleware.GRPCServer = (*baseExtension)(nil)
|
|
)
|
|
|
|
type baseExtension struct {
|
|
component.StartFunc
|
|
component.ShutdownFunc
|
|
extensionmiddleware.GetHTTPHandlerFunc
|
|
extensionmiddleware.GetGRPCServerOptionsFunc
|
|
extensionmiddleware.GetHTTPRoundTripperFunc
|
|
extensionmiddleware.GetGRPCClientOptionsFunc
|
|
}
|
|
|
|
// NewErr returns a new [extension.Extension] that implements all
|
|
// extensionmiddleware interface and always returns an error.
|
|
func NewErr(err error) extension.Extension {
|
|
return &baseExtension{
|
|
GetHTTPRoundTripperFunc: func(http.RoundTripper) (http.RoundTripper, error) {
|
|
return nil, err
|
|
},
|
|
GetGRPCClientOptionsFunc: func() ([]grpc.DialOption, error) {
|
|
return nil, err
|
|
},
|
|
GetHTTPHandlerFunc: func(http.Handler) (http.Handler, error) {
|
|
return nil, err
|
|
},
|
|
GetGRPCServerOptionsFunc: func() ([]grpc.ServerOption, error) {
|
|
return nil, err
|
|
},
|
|
}
|
|
}
|