Documentation ¶
Index ¶
- Constants
- func AbsPathify(inPath string) string
- func AddSlashPrefixIfMissing(path string) string
- func BeginRequest(logger logur.Logger, request RequestInterface)
- func EndRequest(logger logur.Logger, response ResponseInterface)
- func ExtractLoggablePartsFromUrl(url string) string
- func GetLogConfig() *log.Config
- func GetLogger() logur.Logger
- func MsgCountLoad() uint64
- func MsgErrNumAdd(v uint64)
- func MsgInNumAdd(v uint64)
- func MsgOutNumAdd(v uint64)
- func NatsRequestToHttpRequest(rq *Request) (*http.Request, error)
- func NewMiddleware(name string, subject string, logger logur.Logger) func(next http.Handler) http.Handler
- func RandomString(n int) string
- func ReadCookies(h http.Header, filter string) []*http.Cookie
- func SubjectToUrl(subject, topic string) string
- func UnwrapErr(err error) error
- func Url2Subject(url string) string
- type AppInfo
- type AuthFunc
- type BodyProvider
- type BuildInfo
- type Client
- func (srv *Client) Publish(ctx *Context, subject string, body interface{}) error
- func (srv *Client) SendAndReceiveJson(ctx *Context, rq *Request, receive interface{}) error
- func (srv *Client) SendRequest(ctx *Context, rq *Request) (*Response, error)
- func (srv *Client) Subscribe(subject string, cb Handler) (ISubscription, error)
- type ClientResponseError
- type CommonException
- type Connection
- func (c *Connection) Close()
- func (c *Connection) Drain()
- func (c *Connection) Flush() error
- func (c *Connection) Publish(subject string, v interface{}) error
- func (c *Connection) SendRequest(rq *Request, subject string) (*Response, error)
- func (c *Connection) Subscribe(subject string, cb Handler) (ISubscription, error)
- type Context
- func (c *Context) AddResponseHeader(key, value string)
- func (c *Context) Deadline() (deadline time.Time, ok bool)
- func (c *Context) Done() <-chan struct{}
- func (c *Context) Err() error
- func (c *Context) GetPathParam(name string) string
- func (c *Context) GlobalCache() *GlobalCache
- func (c *Context) Logger() logur.Logger
- func (c *Context) LoginToCareProviderAsRoleMustBeUsedAfterAuthentication(careProviderId string, role Role) *Context
- func (c *Context) Origin() string
- func (c *Context) PathParams() PathParams
- func (c *Context) QueryParams() QueryParams
- func (c *Context) Request() *Request
- func (c *Context) RequestId() string
- func (c *Context) RequestTimeZone() *time.Location
- func (c *Context) SetResponseHeader(key, value string)
- func (c *Context) UberTraceID() string
- func (c *Context) UserInfo() *UserInfo
- func (c *Context) UserInfoJson() string
- func (c *Context) Value(key interface{}) interface{}
- func (c *Context) WithValue(key, val interface{}) *Context
- type CustomResponseWriter
- type DefaultHandlers
- type DefaultJsonError
- type ErrorMessage
- type GlobalCache
- type Handler
- type HandlerFunc
- type Health
- type IConnection
- type IServer
- type ISubscription
- type Message
- type MessageHandler
- type MessageSubscriber
- type Middleware
- type Monitoring
- type Mux
- func (m *Mux) Register(method, path string, handlerFunc HandlerFunc, auths ...AuthFunc)
- func (m *Mux) RegisterJson(method, path string, h Handler, auths ...AuthFunc)
- func (m *Mux) RegisterTopic(topic string, h Handler, auths ...AuthFunc)
- func (m *Mux) ServeHTTP(w http.ResponseWriter, r *http.Request)
- type NatsConfig
- type Option
- type Options
- type PathParams
- type Process
- type QueryParams
- type RecordDeleteFailedException
- type RecordNotFoundException
- type Registration
- type Request
- type RequestBuilder
- func (r *RequestBuilder) AddHeader(key, value string) *RequestBuilder
- func (r *RequestBuilder) AddHeaders(header http.Header) *RequestBuilder
- func (r *RequestBuilder) Body(body []byte) *RequestBuilder
- func (r *RequestBuilder) BodyJSON(bodyJSON interface{}) *RequestBuilder
- func (r *RequestBuilder) BodyProvider(body BodyProvider) *RequestBuilder
- func (r *RequestBuilder) Build() (*Request, error)
- func (r *RequestBuilder) Connect(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Delete(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Get(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Head(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Options(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Patch(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Post(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Put(pathURL string) *RequestBuilder
- func (r *RequestBuilder) SetContentType(contentType string)
- func (r *RequestBuilder) SetHeader(key, value string) *RequestBuilder
- func (r *RequestBuilder) SetHeaders(header http.Header) *RequestBuilder
- func (r *RequestBuilder) Subject(subject string) *RequestBuilder
- func (r *RequestBuilder) Trace(pathURL string) *RequestBuilder
- func (r *RequestBuilder) Url(url string) *RequestBuilder
- type RequestInterface
- type RequestParams
- type Response
- type ResponseBuilder
- func (r *ResponseBuilder) AddHeader(key, value string) *ResponseBuilder
- func (r *ResponseBuilder) Body(body []byte) *ResponseBuilder
- func (r *ResponseBuilder) BodyJSON(bodyJSON interface{}) *ResponseBuilder
- func (r *ResponseBuilder) BodyProvider(body BodyProvider) *ResponseBuilder
- func (r *ResponseBuilder) Build() *Response
- func (r *ResponseBuilder) GetHeader(key string) string
- func (r *ResponseBuilder) SetContentType(value string)
- func (r *ResponseBuilder) SetCookie(cookieValue string) *ResponseBuilder
- func (r *ResponseBuilder) SetHeader(key, value string) *ResponseBuilder
- func (r *ResponseBuilder) StatusCode(status int) *ResponseBuilder
- type ResponseInterface
- type Role
- type Router
- type Server
- type ServerError
- type String
- type UUID
- type UserInfo
- type ValidationError
Constants ¶
const ( NatsServers = "Nats.Servers" NatsReadTimeout = "Nats.ReadTimeout" // see https://docs.nats.io/developing-with-nats/connecting/pingpong NatsPingInterval = "Nats.PingInterval" NatsMaxPingsOutstanding = "Nats.MaxPingsOutstanding" //see https://docs.nats.io/developing-with-nats/events/slow NatsPendingLimitByte = "Nats.PendingLimitByte" NatsPendingLimitMsg = "Nats.PendingLimitMsg" LoggingFormat = "Logging.Format" LoggingLevel = "Logging.Level" LoggingNoColor = "Logging.NoColor" )
const ( HEALTH_CHECK = "health_check" HEALTH_CHECK_REPLY = "health_check_reply" UP = "UP" )
const ( MONITORING_CHECK = "monitoring_check" MONITORING_CHECK_REPLY = "monitoring_check_reply" )
const ( XRequestId = "X-Request-Id" XRequestTimeOffset = "X-REQUEST-TIME-OFFSET" XLoggerId = "X-LOGGER-ID" XPathParams = "X-PATH-PARAMS" XQueryParams = "X-QUERY-PARAMS" XRequest = "X-REQUEST" XUserInfo = "X-Silentium-User" // how to remove this value XGlobalCache = "X-Global-Cache" // how to remove this value UberTraceID = "Uber-Trace-Id" XRequestTime = "X-Request-Time" XResponeTime = "X-Response-Time" XOrigin = "X-Origin" )
Variables ¶
This section is empty.
Functions ¶
func AbsPathify ¶
func AddSlashPrefixIfMissing ¶
func BeginRequest ¶ added in v1.0.51
func BeginRequest(logger logur.Logger, request RequestInterface)
func EndRequest ¶ added in v1.0.51
func EndRequest(logger logur.Logger, response ResponseInterface)
func GetLogConfig ¶
func MsgCountLoad ¶ added in v1.0.51
func MsgCountLoad() uint64
func MsgErrNumAdd ¶ added in v1.0.54
func MsgErrNumAdd(v uint64)
func MsgInNumAdd ¶ added in v1.0.54
func MsgInNumAdd(v uint64)
func MsgOutNumAdd ¶ added in v1.0.54
func MsgOutNumAdd(v uint64)
func NewMiddleware ¶
func RandomString ¶
func SubjectToUrl ¶
func Url2Subject ¶
Types ¶
type AuthFunc ¶
func IsAnonymous ¶
func IsAnonymous() AuthFunc
func IsAuthenticated ¶
func IsAuthenticated() AuthFunc
type BodyProvider ¶
type BodyProvider interface { // ContentType returns the Content-Type of the body. ContentType() string // Body returns the io.Reader body. Body() ([]byte, error) }
BodyProvider provides Body content for http.Request attachment.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func GetDefaultClient ¶
func GetDefaultClient() *Client
func NewClient ¶
func NewClient(conn IConnection) *Client
func (*Client) SendAndReceiveJson ¶
func (*Client) SendRequest ¶
type ClientResponseError ¶
---------------------------------------------------------------------------------------------- mapped from HttpClientResponseException.java Error when invoke another microservices
func (*ClientResponseError) Error ¶
func (h *ClientResponseError) Error() string
func (*ClientResponseError) GetMessage ¶
func (h *ClientResponseError) GetMessage() string
type CommonException ¶
type CommonException struct { Status int // http status Message string ServerError string ServerErrorParam interface{} }
----------- copy from old micronaut infrastructure.exception see CommonException.java todo: really really want to change it from Exception to Error. Go does not use Exception. Will change it soon
func NewCommonException ¶
func NewCommonException(serverError string, param ...interface{}) *CommonException
func (*CommonException) Error ¶
func (e *CommonException) Error() string
func (*CommonException) GetServerError ¶
func (c *CommonException) GetServerError() string
func (*CommonException) GetServerErrorParam ¶
func (c *CommonException) GetServerErrorParam() interface{}
type Connection ¶
type Connection struct {
Conn *nats.EncodedConn
}
func GetDefaultServer ¶ added in v1.0.50
func GetDefaultServer(config *NatsConfig, logger logur.Logger, subject string) (*Connection, error)
func NewConnection ¶
func NewConnection(url string, options ...nats.Option) (*Connection, error)
Connect will attempt to connect to the NATS system. The url can contain username/password semantics. e.g. nats://derek:pass@localhost:4222 Comma separated arrays are also supported, e.g. urlA, urlB. Options start with the defaults but can be overridden.
func (*Connection) Close ¶
func (c *Connection) Close()
func (*Connection) Drain ¶
func (c *Connection) Drain()
func (*Connection) Flush ¶
func (c *Connection) Flush() error
func (*Connection) Publish ¶
func (c *Connection) Publish(subject string, v interface{}) error
func (*Connection) SendRequest ¶
func (c *Connection) SendRequest(rq *Request, subject string) (*Response, error)
func (*Connection) Subscribe ¶ added in v1.0.48
func (c *Connection) Subscribe(subject string, cb Handler) (ISubscription, error)
type Context ¶
type Context struct { ResponseHeaders http.Header `json:"headers"` // contains filtered or unexported fields }
func NewBackgroundContext ¶
func NewBackgroundContext() *Context
func NewContext ¶
func (*Context) AddResponseHeader ¶ added in v1.0.66
grpc mimic
func (*Context) GetPathParam ¶
func (*Context) GlobalCache ¶
func (c *Context) GlobalCache() *GlobalCache
func (*Context) LoginToCareProviderAsRoleMustBeUsedAfterAuthentication ¶
func (c *Context) LoginToCareProviderAsRoleMustBeUsedAfterAuthentication(careProviderId string, role Role) *Context
dangerously! only use this function after authentication
func (*Context) PathParams ¶
func (c *Context) PathParams() PathParams
func (*Context) QueryParams ¶
func (c *Context) QueryParams() QueryParams
func (*Context) RequestTimeZone ¶ added in v1.0.62
func (*Context) SetResponseHeader ¶ added in v1.0.66
func (*Context) UberTraceID ¶ added in v1.0.51
func (*Context) UserInfoJson ¶
type CustomResponseWriter ¶
type CustomResponseWriter struct { StatusCode int // contains filtered or unexported fields }
func NewCustomResponseWriter ¶
func NewCustomResponseWriter(w http.ResponseWriter) *CustomResponseWriter
func (*CustomResponseWriter) Header ¶
func (c *CustomResponseWriter) Header() http.Header
func (*CustomResponseWriter) WriteHeader ¶
func (c *CustomResponseWriter) WriteHeader(statusCode int)
type DefaultHandlers ¶
type DefaultHandlers struct {
Subject string
}
func (*DefaultHandlers) AppInfo ¶
func (h *DefaultHandlers) AppInfo(ctx *Context) (*AppInfo, error)
see BuildInfoSource.java
func (*DefaultHandlers) DoHealthCheck ¶ added in v1.0.48
func (h *DefaultHandlers) DoHealthCheck() Health
func (*DefaultHandlers) Register ¶
func (h *DefaultHandlers) Register(r Router)
func (*DefaultHandlers) Subscribe ¶
func (h *DefaultHandlers) Subscribe(s *MessageSubscriber)
type DefaultJsonError ¶
type DefaultJsonError struct { Message string `json:"message"` LogRef string `json:"logref"` Path string `json:"path"` Links map[string][]string `json:"_links"` Embedded map[string][]interface{} `json:"_embedded"` TraceId string `json:"traceId"` ValidationErrors []ValidationError `json:"validationErrors"` ServerError string `json:"serverError"` ServerErrorParam interface{} `json:"serverErrorParam"` // to support parameter message like "Beim Transformieren des Types {0} in den Type {1} ist ein Fehler aufgetreten." }
*
- A class that can be used to represent JSON errors that complies to Vnd.Error without the content type requirements.
- see RFC 2119.
make it compatible old micronaut code, it's a subject to change latter see HttpClientResponseExceptionHandler.java
type ErrorMessage ¶
type ErrorMessage struct { Key string `json:"key"` Param interface{} `json:"param"` }
func (*ErrorMessage) String ¶
func (e *ErrorMessage) String() string
type GlobalCache ¶
type GlobalCache struct {
Data map[string]interface{}
}
type HandlerFunc ¶
type Health ¶
type IConnection ¶
type IServer ¶
type IServer interface { Stop() Start(started ...chan interface{}) }
will change this to ServerInterface to make it consistency
type ISubscription ¶ added in v1.0.48
type MessageHandler ¶
type MessageSubscriber ¶
type MessageSubscriber struct {
// contains filtered or unexported fields
}
func NewMessageSubscriber ¶
func NewMessageSubscriber(logger logur.Logger) *MessageSubscriber
func (*MessageSubscriber) Register ¶
func (s *MessageSubscriber) Register(subject string, queue string, handler MessageHandler)
type Middleware ¶
type Middleware struct { }
type Monitoring ¶ added in v1.0.46
type Monitoring struct { Status string `json:"status"` HostName string `json:"hostName"` Subject string `json:"subject"` Alloc uint64 `json:"alloc"` // currently allocated number of bytes on the heap TotalAlloc uint64 `json:"totalAlloc"` //cumulative max bytes allocated on the heap (will not decrease), Sys uint64 `json:"sys"` //total memory obtained from the OS Mallocs uint64 `json:"mallocs"` //number of allocations Frees uint64 `json:"frees"` //number deallocations LiveObjects uint64 `json:"liveObjects"` //live objects (mallocs - frees) PauseTotalNs uint64 `json:"pauseTotalNs"` //total GC pauses since the app has started, NumGC uint32 `json:"numGC"` // number of completed GC cycles NumGoroutine int `json:"numGoroutine"` Pid int `json:"pid"` // process id Cpu float64 `json:"cpu"` // cpu usage MsgInNum uint64 `json:"msgInNum"` // number of in messages MsgOutNum uint64 `json:"msgOutNum"` // number of out messages MsgErrNum uint64 `json:"msgErrNum"` // total of errors MsgPendingNum int `json:"msgPendingNum"` //pending message in queue Language string `json:"language"` RequestTime int64 `json:"requestTime"` }
func DoMonitoringCheck ¶ added in v1.0.48
func DoMonitoringCheck(subject string, m *Message) Monitoring
type Mux ¶
func (*Mux) Register ¶
func (m *Mux) Register(method, path string, handlerFunc HandlerFunc, auths ...AuthFunc)
func (*Mux) RegisterJson ¶
type NatsConfig ¶
type NatsConfig struct { Servers string ReadTimeout int PingInterval int MaxPingsOutstanding int PendingLimitMsg int PendingLimitByte int }
func GetNatsConfig ¶
func GetNatsConfig() *NatsConfig
func (NatsConfig) GetReadTimeoutDuration ¶
func (c NatsConfig) GetReadTimeoutDuration() time.Duration
type Option ¶
Option is a function on the options for a connection.
func Config ¶
func Config(config *NatsConfig) Option
func Subscribe ¶
func Subscribe(r func(*MessageSubscriber)) Option
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options can be used to create a customized connection.
type PathParams ¶
func ParsePathParams ¶
func ParsePathParams(ctx context.Context) PathParams
type Process ¶ added in v1.0.46
type Process struct {
// contains filtered or unexported fields
}
func GetCpuUsage ¶ added in v1.0.46
type QueryParams ¶
type RecordDeleteFailedException ¶
type RecordDeleteFailedException struct {
*CommonException
}
RecordDeleteFailedException.java
func NewRecordDeleteFailedException ¶
func NewRecordDeleteFailedException(entityType string, id UUID, serverError string) *RecordDeleteFailedException
type RecordNotFoundException ¶
type RecordNotFoundException struct {
*CommonException
}
RecordNotFoundException.java
func NewRecordNotFoundException ¶
func NewRecordNotFoundException(entityType, id, serverError string) *RecordNotFoundException
type Registration ¶
type Registration struct { Subject string Queue string Handler MessageHandler }
type Request ¶
type Request struct { Method string `json:"method"` Headers http.Header `json:"headers"` Body []byte `json:"body"` URL string `json:"url"` // in case of using NATS subject instead of Restful url prefix Subject string `json:"subject"` }
Request is a simple struct
func (*Request) AddCookie ¶
AddCookie adds a cookie to the request. Per RFC 6265 section 5.4, AddCookie does not attach more than one Cookie header field. That means all cookies, if any, are written into the same line, separated by semicolon.
func (*Request) Cookie ¶
Cookie returns the named cookie provided in the request or ErrNoCookie if not found. If multiple cookies match the given name, only one cookie will be returned.
func (*Request) GetHeaders ¶ added in v1.0.54
type RequestBuilder ¶
type RequestBuilder struct {
// contains filtered or unexported fields
}
Request is a simple struct
func (*RequestBuilder) AddHeader ¶
func (r *RequestBuilder) AddHeader(key, value string) *RequestBuilder
Add adds the key, value pair in Headers, appending values for existing keys to the key's values. Header keys are canonicalized.
func (*RequestBuilder) AddHeaders ¶
func (r *RequestBuilder) AddHeaders(header http.Header) *RequestBuilder
func (*RequestBuilder) Body ¶
func (r *RequestBuilder) Body(body []byte) *RequestBuilder
func (*RequestBuilder) BodyJSON ¶
func (r *RequestBuilder) BodyJSON(bodyJSON interface{}) *RequestBuilder
func (*RequestBuilder) BodyProvider ¶
func (r *RequestBuilder) BodyProvider(body BodyProvider) *RequestBuilder
BodyProvider sets the RequestBuilder's body provider.
func (*RequestBuilder) Build ¶
func (r *RequestBuilder) Build() (*Request, error)
func (*RequestBuilder) Connect ¶
func (r *RequestBuilder) Connect(pathURL string) *RequestBuilder
Connect sets the Request method to CONNECT and sets the given pathURL.
func (*RequestBuilder) Delete ¶
func (r *RequestBuilder) Delete(pathURL string) *RequestBuilder
Delete sets the Request method to DELETE and sets the given pathURL.
func (*RequestBuilder) Get ¶
func (r *RequestBuilder) Get(pathURL string) *RequestBuilder
Get sets the Request method to GET and sets the given pathURL.
func (*RequestBuilder) Head ¶
func (r *RequestBuilder) Head(pathURL string) *RequestBuilder
Head sets the Request method to HEAD and sets the given pathURL.
func (*RequestBuilder) Options ¶
func (r *RequestBuilder) Options(pathURL string) *RequestBuilder
Options sets the Request method to OPTIONS and sets the given pathURL.
func (*RequestBuilder) Patch ¶
func (r *RequestBuilder) Patch(pathURL string) *RequestBuilder
Patch sets the Request method to PATCH and sets the given pathURL.
func (*RequestBuilder) Post ¶
func (r *RequestBuilder) Post(pathURL string) *RequestBuilder
Post sets the Request method to POST and sets the given pathURL.
func (*RequestBuilder) Put ¶
func (r *RequestBuilder) Put(pathURL string) *RequestBuilder
Put sets the Request method to PUT and sets the given pathURL.
func (*RequestBuilder) SetContentType ¶
func (r *RequestBuilder) SetContentType(contentType string)
func (*RequestBuilder) SetHeader ¶
func (r *RequestBuilder) SetHeader(key, value string) *RequestBuilder
Set sets the key, value pair in Headers, replacing existing values associated with key. Header keys are canonicalized.
func (*RequestBuilder) SetHeaders ¶
func (r *RequestBuilder) SetHeaders(header http.Header) *RequestBuilder
func (*RequestBuilder) Subject ¶
func (r *RequestBuilder) Subject(subject string) *RequestBuilder
func (*RequestBuilder) Trace ¶
func (r *RequestBuilder) Trace(pathURL string) *RequestBuilder
Trace sets the Request method to TRACE and sets the given pathURL.
func (*RequestBuilder) Url ¶
func (r *RequestBuilder) Url(url string) *RequestBuilder
Url extends the rawURL with the given path by resolving the reference to an absolute URL. If parsing errors occur, the rawURL is left unmodified.
type RequestInterface ¶ added in v1.0.54
type RequestParams ¶
type Response ¶
type Response struct { Status string `json:"reason"` // e.g. "200 OK" StatusCode int `json:"code"` // e.g. 200 Headers http.Header `json:"headers"` Body []byte `json:"body"` }
Request is a simple struct
func (*Response) GetHeaders ¶
func (*Response) GetStatusCode ¶ added in v1.0.54
func (*Response) WriteHeader
deprecated
type ResponseBuilder ¶
type ResponseBuilder struct {
// contains filtered or unexported fields
}
Request is a simple struct
func NewResBuilderWithHeader ¶ added in v1.0.66
func NewResBuilderWithHeader(header http.Header) *ResponseBuilder
func (*ResponseBuilder) AddHeader ¶
func (r *ResponseBuilder) AddHeader(key, value string) *ResponseBuilder
func (*ResponseBuilder) Body ¶
func (r *ResponseBuilder) Body(body []byte) *ResponseBuilder
func (*ResponseBuilder) BodyJSON ¶
func (r *ResponseBuilder) BodyJSON(bodyJSON interface{}) *ResponseBuilder
func (*ResponseBuilder) BodyProvider ¶
func (r *ResponseBuilder) BodyProvider(body BodyProvider) *ResponseBuilder
BodyProvider sets the RequestBuilder's body provider.
func (*ResponseBuilder) Build ¶
func (r *ResponseBuilder) Build() *Response
func (*ResponseBuilder) GetHeader ¶
func (r *ResponseBuilder) GetHeader(key string) string
func (*ResponseBuilder) SetContentType ¶
func (r *ResponseBuilder) SetContentType(value string)
func (*ResponseBuilder) SetCookie ¶ added in v1.0.63
func (r *ResponseBuilder) SetCookie(cookieValue string) *ResponseBuilder
func (*ResponseBuilder) SetHeader ¶
func (r *ResponseBuilder) SetHeader(key, value string) *ResponseBuilder
func (*ResponseBuilder) StatusCode ¶
func (r *ResponseBuilder) StatusCode(status int) *ResponseBuilder
type ResponseInterface ¶ added in v1.0.54
type ServerError ¶
type ServerError interface { GetServerError() string GetServerErrorParam() interface{} }
type UserInfo ¶
type UserInfo struct { ExternalUserId UUID `json:"externalUserId"` // as of now , it's for role patient only UserId UUID `json:"userId"` CareProviderId UUID `json:"careProviderId"` CareProviderKey string `json:"careProviderKey"` DeviceId string `json:"deviceId"` // uuid format Role Role `json:"role"` Attributes map[string]interface{} `json:"attributes"` }
func (UserInfo) CareProviderUUID ¶
func (*UserInfo) GetSubject ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
examples
|
|
Package log configures a new logger for an application.
|
Package log configures a new logger for an application. |