Documentation
¶
Overview ¶
Copyright 2023 Northern.tech AS
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2024 Northern.tech AS
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2023 Northern.tech AS
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- func FromContext(ctx context.Context) string
- func GetReqId(r *rest.Request) string
- func Middleware(opts ...*MiddlewareOptions) gin.HandlerFunc
- func SetReqId(r *rest.Request, reqid string) *rest.Request
- func WithContext(ctx context.Context, reqid string) context.Context
- type ApiRequester
- type MiddlewareOptions
- type RequestIdMiddleware
- type TrackingApiClient
Constants ¶
View Source
const RequestIdHeader = "X-MEN-RequestID"
Variables ¶
This section is empty.
Functions ¶
func FromContext ¶
FromContext extracts current request Id from context.Context
func Middleware ¶
func Middleware(opts ...*MiddlewareOptions) gin.HandlerFunc
Middleware provides requestid middleware for the gin-gonic framework.
Types ¶
type MiddlewareOptions ¶
type MiddlewareOptions struct { // GenerateRequestID decides whether a request ID should // be generated when none exists. (default: true) GenerateRequestID *bool }
func NewMiddlewareOptions ¶
func NewMiddlewareOptions() *MiddlewareOptions
func (*MiddlewareOptions) SetGenerateRequestID ¶
func (opt *MiddlewareOptions) SetGenerateRequestID(gen bool) *MiddlewareOptions
type RequestIdMiddleware ¶
type RequestIdMiddleware struct { }
RequestIdMiddleware sets the X-MEN-RequestID header if it's not present, and adds the request id to the request logger's context.
func (*RequestIdMiddleware) MiddlewareFunc ¶
func (mw *RequestIdMiddleware) MiddlewareFunc(h rest.HandlerFunc) rest.HandlerFunc
MiddlewareFunc makes RequestIdMiddleware implement the Middleware interface.
type TrackingApiClient ¶
TrackingApiClient wrapper for http.Client for sending http requests to outside services with a given request id
func NewTrackingApiClient ¶
func NewTrackingApiClient(reqid string) *TrackingApiClient
Click to show internal directories.
Click to hide internal directories.