Documentation
¶
Index ¶
- Constants
- Variables
- func ExtractAuthToken(r *http.Request, opts AuthOptions) (string, error)
- func IDRegistrar(reg *bson.Registry)
- func ParseOperationResultToSingle[T any](ctx context.Context, res *OperationResult, recv T, m Marshaler, u Unmarshaler) (T, error)
- func ParseOperationResultToSlice[T any](ctx context.Context, res *OperationResult, recv *[]T, m Marshaler, ...) ([]T, error)
- func ParseOperationResultToSliceDynamic(ctx context.Context, res *OperationResult, recv any, m Marshaler, ...) ([]any, error)
- type AtlasDataType
- type AtlasIndexes
- type Atz
- type AuthOption
- type AuthOptions
- type AuthenticationOperator
- type Authorizable
- type AuthorizationResult
- type AuthorizationResultOption
- type BSONOperator
- type Base64Decoder
- type BasisInt
- type BasisInt32
- type BasisInt64
- type BasisOperator
- type Bypass
- type C
- type CacheHit
- type CacheHitter
- type CacheID
- type CacheIdentifier
- type CacheKey
- type CacheMulti
- type CacheOperator
- type Cacher
- type CertGenerator
- type ChangeEvent
- type Closer
- type CloserInOut
- type CloserWithCtx
- type ComponentExtractor
- type Conformer
- type ConversionFactor
- type CreateCollectionsOptions
- type CreateIndexesOptions
- type CreateSearchIndexesOptions
- type DBOperator
- type DateFilterOptions
- type DecodeCursorOptions
- type DeleteManyOptions
- type DeleteOneHandlerOptions
- type DeleteOneOptions
- type ElemMatchFilterOptions
- type ElemsInArrayFilterOptions
- type EmailByter
- type EmailOperator
- type EmailPubSub
- type EmailSender
- type EmailSenderInfo
- type EmailSpecifics
- type EmailSuspensionReason
- type EmailTemplateType
- type Emailable
- type Entry
- type Env
- type EnvInfo
- type EnvironmentOperator
- type FSysFileReader
- type FSysOperator
- type FSysSubFSOperator
- type FactoryOperator
- type FetchManyOption
- func WithFetchManyCollection(x string) FetchManyOption
- func WithFetchManyMock(x any) FetchManyOption
- func WithFetchManyQuery(x map[string][]string) FetchManyOption
- func WithFetchManyReceiver(x any) FetchManyOption
- func WithFetchManyRequest(x *http.Request) FetchManyOption
- func WithFetchManyService(x string) FetchManyOption
- type FetchManyOptions
- type FetchOneOption
- func WithFetchOneCollection(x string) FetchOneOption
- func WithFetchOneID(x fmt.Stringer) FetchOneOption
- func WithFetchOneMock(x any) FetchOneOption
- func WithFetchOneReceiver(x any) FetchOneOption
- func WithFetchOneRequest(x *http.Request) FetchOneOption
- func WithFetchOneService(x string) FetchOneOption
- type FetchOneOptions
- type FetcherOperator
- type FieldInArrayFilterOptions
- type FilterOptions
- type FindManyHandlerOptions
- type FindManyOptions
- type FindOneHandlerOptions
- type FindOneOptions
- type FirebaseAuthenticator
- type FirebaseMockUser
- type FirebaseOperator
- type FirebaseTester
- type FirebaseUtil
- type GenerateUsernameOption
- type GenerateUsernameOptions
- type Generator
- type Geocoder
- type GmailMessager
- type GmailService
- type GmailUsersMessageService
- type GoogleMaps
- type GzipReader
- type GzipUtil
- type GzipWriter
- type HTTPClient
- type HTTPDoer
- type HTTPFileOpener
- type HTTPHTML
- type HTTPOperator
- type HTTPRequester
- type HTTPResponder
- type HTTPResponseWriter
- type HTTPServer
- type HTTPUtil
- type HTTPWriter
- type HandlerFunc
- type ID
- type IDDecoder
- type IDEncoder
- type Identifiable
- type Identifier
- type IndexEntry
- type Indexable
- type InitOption
- type InitOptions
- type InsertOneHandlerOptions
- type InsertOneOptions
- type JSONOption
- type JSONOptions
- type Level
- type LibraryOperator
- type LimiterInfo
- type LimiterOperator
- type LogOperator
- type MajorUnit
- type Marshaler
- type MatchBehavior
- type MessageRole
- type MiddlewareFunc
- type MiddlewareOperator
- type MongoChangeStream
- type MongoClient
- type MongoCollection
- type MongoCursor
- type MongoDatabase
- type MongoFilter
- type MongoLookupTarget
- type MongoOperator
- type MongoOutCSChan
- type MongoPipeliner
- type MongoSpecialized
- type MongoUtil
- type MongoVerb
- type NormalizeOption
- type NormalizeOptions
- type Normalizer
- type OIDCAuthenticator
- type OIDCCreator
- type OIDCOperator
- type OperationResult
- type OperationResultOption
- type PaginationOptions
- type Parser
- type PeriodOperator
- type PoolOperator
- type ProcessChangeStreamOptions
- type PromptMessage
- type PromptRequest
- type PromptResponse
- type PromptResponseFormat
- type Prompter
- type PrompterOpts
- type PubSubClient
- type PubSubFamily
- type PubSubKey
- type PubSubMessage
- type PubSubOperator
- type PubSubPayload
- type PubSubPullSubscription
- type PubSubPushSubscription
- type PubSubTopic
- type QueryHandlerOptions
- type QueryParamRule
- type QueryParamRules
- type Queryable
- type RangeOption
- type RangeOptions
- type RawCacheKey
- type Reader
- type RedisClient
- type RedisOperator
- type ReflectOperator
- type RegisteredRoute
- type Registry
- type RegistryMutex
- type RenderOption
- type RenderOptions
- type ReplaceOneHandlerOptions
- type ReplaceOneOptions
- type RequestOption
- type RequestOptions
- type RequestWeight
- type RequireOption
- type RequireOptions
- type Role
- type Route
- type RouterKeyExtractor
- type RouterOperator
- type RouterParser
- type RunPipelineOptions
- type Scopable
- type Scope
- type SearchIndexEntry
- type SearchManyHandlerOptions
- type SearchOptions
- type SearchResult
- type SearchResultOption
- type Searchable
- type SecretInfo
- type SecretManagerClient
- type SecretOperator
- type SemaphoreInfo
- type SemaphoreOperator
- type SendEmailOption
- type SendEmailOptions
- type ServeFileOption
- type ServeFileOptions
- type ServerInfo
- type ServerOperator
- type ServerRunner
- type SortDirection
- type Sortable
- type StringOperator
- type TemplateOperator
- type TemplateRenderer
- type TextOptions
- type Tool
- type ToolOption
- type ToolOptions
- type TranslateClient
- type TranslateCommonOption
- type TranslateCommonOptions
- type TranslateHTMLOption
- type TranslateHTMLOptions
- type TranslateTextOption
- type TranslateTextOptions
- type TranslationOperator
- type TwilioAPIService
- type TwilioClient
- type TwilioOperator
- type TwilioSMS
- type Unmarshaler
- type ValidationOperator
- type VectorSearchField
- type Visibility
- type WatchCollectionOptions
- type WatchDBOptions
- type Writer
Constants ¶
const ( PathSearch = "search" MongoLookupFullDocument MongoLookupTarget = "fullDocument" MongoLookupDocumentKey MongoLookupTarget = "documentKey" MongoLookupOperationType MongoLookupTarget = "operationType" TypeArray AtlasDataType = "array" TypeBoolean AtlasDataType = "boolean" TypeDate AtlasDataType = "date" TypeFacetDate AtlasDataType = "dateFacet" TypeNumber AtlasDataType = "number" TypeFacetNumber AtlasDataType = "numberFacet" TypeGeo AtlasDataType = "geo" TypeDocument AtlasDataType = "document" TypeEmbeddedDoc AtlasDataType = "embeddedDocument" TypeObjectID AtlasDataType = "objectId" TypeString AtlasDataType = "string" TypeFacetString AtlasDataType = "stringFacet" TypeAutocomplete AtlasDataType = "autocomplete" TypeToken AtlasDataType = "token" VerbElemMatch MongoVerb = "$elemMatch" VerbMatch MongoVerb = "$match" VerbSkip MongoVerb = "$skip" VerbLimit MongoVerb = "$limit" VerbSort MongoVerb = "$sort" VerbCount MongoVerb = "$count" VerbSearch MongoVerb = "$search" OpAnd BSONOperator = "$and" OpOr BSONOperator = "$or" OpNor BSONOperator = "$nor" OpGT BSONOperator = "$gt" OpGTE BSONOperator = "$gte" OpLT BSONOperator = "$lt" OpLTE BSONOperator = "$lte" OpNE BSONOperator = "$ne" OpIn BSONOperator = "$in" OpNin BSONOperator = "$nin" Ascending SortDirection = 1 Descending SortDirection = -1 MatchAll MatchBehavior = "$all" MatchIn MatchBehavior = "$in" MatchEqual MatchBehavior = "$eq" )
const ( SearchQueryKey = "q" SearchPageKey = "page" SearchPerPageKey = "per_page" )
const DefaultIndent = " "
const (
IDKey = "id"
)
Variables ¶
var SearchRules = QueryParamRules{ { Key: SearchQueryKey, DefaultValue: "", MultipleValuesAllowed: false, Optional: false, }, { Key: SearchPageKey, DefaultValue: "", MultipleValuesAllowed: false, Optional: false, }, { Key: SearchPerPageKey, DefaultValue: "", MultipleValuesAllowed: false, Optional: false, }, }
SearchRules defines validation rules for search queries.
Functions ¶
func ExtractAuthToken ¶ added in v0.1.178
func ExtractAuthToken(r *http.Request, opts AuthOptions) (string, error)
ExtractAuthToken extracts the auth token from the request header.
func IDRegistrar ¶ added in v0.1.317
func ParseOperationResultToSingle ¶ added in v0.1.358
func ParseOperationResultToSingle[T any](ctx context.Context, res *OperationResult, recv T, m Marshaler, u Unmarshaler) (T, error)
ParseOperationResultToSingle unmarshals a single item from the operation result into receiver (must be a pointer).
func ParseOperationResultToSlice ¶ added in v0.1.358
func ParseOperationResultToSlice[T any](ctx context.Context, res *OperationResult, recv *[]T, m Marshaler, u Unmarshaler) ([]T, error)
ParseOperationResultToSlice unmarshals a slice of items from the operation result into receiver (must be a pointer to a slice).
func ParseOperationResultToSliceDynamic ¶ added in v0.1.416
func ParseOperationResultToSliceDynamic(ctx context.Context, res *OperationResult, recv any, m Marshaler, u Unmarshaler) ([]any, error)
ParseOperationResultToSliceDynamic unmarshals a slice of items from the operation result using reflection (receiver must be pointer to a slice of pointers).
Types ¶
type AtlasDataType ¶ added in v0.0.5
type AtlasDataType = string
AtlasDataType represents the data types recognized by MongoDB Atlas.
type AtlasIndexes ¶ added in v0.1.77
AtlasIndexes is a map of field name to MongoDB Atlas data type.
type Atz ¶ added in v0.1.271
type Atz struct {
Authorize bool
}
Atz controls whether the authorization step should be executed in the handler.
type AuthOption ¶ added in v0.1.177
type AuthOption func(*AuthOptions)
func WithAuthorizationHeaderKey ¶ added in v0.1.178
func WithAuthorizationHeaderKey(x string) AuthOption
func WithPrefix ¶ added in v0.1.177
func WithPrefix(x string) AuthOption
type AuthOptions ¶ added in v0.1.177
AuthOptions holds authentication-related configuration used across multiple systems, including OIDC & Firebase.
func ApplyAuthOptions ¶ added in v0.1.177
func ApplyAuthOptions(opts *AuthOptions, modifiers ...AuthOption) AuthOptions
type AuthenticationOperator ¶ added in v0.1.178
type AuthenticationOperator interface {
FirebaseAuthenticator
OIDCAuthenticator
AuthenticateWithSecret(ctx context.Context, r *http.Request, opts AuthOptions) error
AuthenticateAny(ctx context.Context, r *http.Request, opts AuthOptions) error
}
type Authorizable ¶ added in v0.1.54
type AuthorizationResult ¶ added in v0.1.56
type AuthorizationResult struct {
UnallowedRecords []ID `json:"unallowed_records"`
}
AuthorizationResult represents an authorization response.
func NewAuthorizationResult ¶ added in v0.1.57
func NewAuthorizationResult(opts ...AuthorizationResultOption) *AuthorizationResult
type AuthorizationResultOption ¶ added in v0.1.56
type AuthorizationResultOption func(*AuthorizationResult)
func WithUnallowedRecords ¶ added in v0.1.233
func WithUnallowedRecords(x []ID) AuthorizationResultOption
type BSONOperator ¶ added in v0.0.5
type BSONOperator = string
BSONOperator represents BSON query operators in MongoDB.
type Base64Decoder ¶ added in v0.0.5
type BasisInt32 ¶ added in v0.1.10
type BasisInt32 = int32
type BasisInt64 ¶ added in v0.1.10
type BasisInt64 = int64
type BasisOperator ¶ added in v0.1.10
type BasisOperator interface {
BasisIntToMajor(ctx context.Context, b BasisInt, c ConversionFactor) (MajorUnit, error)
BasisInt32ToMajor(ctx context.Context, b BasisInt32, c ConversionFactor) (MajorUnit, error)
BasisInt64ToMajor(ctx context.Context, b BasisInt64, c ConversionFactor) (MajorUnit, error)
MajorToBasis(ctx context.Context, m MajorUnit, c ConversionFactor) (BasisInt64, error)
}
type Bypass ¶ added in v0.1.359
Bypass allows explicit override of default handler behavior such as skipping path extraction.
type CacheHit ¶ added in v0.0.5
type CacheHit struct {
V string `json:"v"`
}
CacheHit represents a cache entry that holds a JSON string.
type CacheHitter ¶ added in v0.0.5
type CacheIdentifier ¶ added in v0.0.5
type CacheKey ¶ added in v0.0.5
type CacheKey struct {
ID fmt.Stringer
Microservice string
Collection string
Multi *CacheMulti
}
CacheKey represents a cache key. It is used to identify a cache entry & it can be used to generate a matching pattern using wildcards.
type CacheMulti ¶ added in v0.0.5
type CacheMulti struct {
RawQuery string
}
type CacheOperator ¶ added in v0.0.5
type CacheOperator interface {
CacheIdentifier
CacheHitter
Cacher
}
type Cacher ¶ added in v0.0.5
type Cacher interface {
CloserWithCtx
Get(ctx context.Context, c fmt.Stringer) (*CacheHit, error)
Set(ctx context.Context, c fmt.Stringer, v CacheHit) error
BatchGet(ctx context.Context, c []fmt.Stringer) ([]CacheHit, error)
BatchSet(ctx context.Context, e map[fmt.Stringer]CacheHit) error
Flush(ctx context.Context, c fmt.Stringer) error
BatchFlush(ctx context.Context, c []fmt.Stringer) error
FlushAll(ctx context.Context) error
Exists(ctx context.Context, c fmt.Stringer) (bool, error)
}
type CertGenerator ¶ added in v0.0.5
type ChangeEvent ¶ added in v0.0.5
type CloserInOut ¶ added in v0.1.381
type CloserWithCtx ¶ added in v0.1.13
type ComponentExtractor ¶ added in v0.1.10
type ConversionFactor ¶ added in v0.1.10
type ConversionFactor = int64
type CreateCollectionsOptions ¶ added in v0.1.37
type CreateCollectionsOptions struct {
Collections []string
}
type CreateIndexesOptions ¶ added in v0.1.37
type CreateIndexesOptions struct {
Collection string
Indexes []IndexEntry
}
type CreateSearchIndexesOptions ¶ added in v0.1.37
type CreateSearchIndexesOptions struct {
Collection string
Indexes []SearchIndexEntry
}
type DBOperator ¶ added in v0.0.5
type DBOperator interface {
InsertOne(ctx context.Context, opts InsertOneOptions) error
FindOne(ctx context.Context, opts FindOneOptions) error
FindMany(ctx context.Context, opts FindManyOptions) ([]any, error)
ReplaceOne(ctx context.Context, opts ReplaceOneOptions) error
DeleteOne(ctx context.Context, opts DeleteOneOptions) error
DeleteMany(ctx context.Context, opts DeleteManyOptions) error
CloserWithCtx
}
type DateFilterOptions ¶ added in v0.0.5
type DecodeCursorOptions ¶ added in v0.0.5
type DecodeCursorOptions struct {
Cursor MongoCursor
Receiver any
}
type DeleteManyOptions ¶ added in v0.0.5
type DeleteOneHandlerOptions ¶ added in v0.1.270
type DeleteOneOptions ¶ added in v0.0.5
type DeleteOneOptions struct {
Collection string
IDKey string
ID Identifier
}
type ElemMatchFilterOptions ¶ added in v0.0.5
type ElemsInArrayFilterOptions ¶ added in v0.0.5
type EmailByter ¶ added in v0.1.381
type EmailOperator ¶ added in v0.1.381
type EmailOperator interface {
EmailPubSub
EmailSender
}
type EmailPubSub ¶ added in v0.1.381
type EmailPubSub interface {
NewPubSubEmail(ctx context.Context, t EmailTemplateType, targetLanguage, recipientEmail, recipientUsername string, s EmailSpecifics) (*pubsub.Message, error)
EncodeSpecifics(ctx context.Context, s EmailSpecifics) (string, error)
GetSuspensionSentence(ctx context.Context, enumVal int) (EmailSuspensionReason, error)
}
type EmailSender ¶ added in v0.1.381
type EmailSender interface {
SendEmail(ctx context.Context, opts SendEmailOptions) error
}
type EmailSenderInfo ¶ added in v0.1.394
type EmailSpecifics ¶ added in v0.1.396
type EmailSuspensionReason ¶ added in v0.1.396
type EmailSuspensionReason = string
type EmailTemplateType ¶ added in v0.1.396
type EmailTemplateType = string
type Emailable ¶ added in v0.1.385
type Emailable interface {
Init(ctx context.Context, opts InitOptions) error
GetSubject() string
GetTemplateType() EmailTemplateType
}
type Entry ¶ added in v0.1.10
type Entry struct {
Handler HandlerFunc
Weight uint
}
Entry maps an HTTP handler to a request weight.
type EnvInfo ¶ added in v0.1.105
type EnvInfo struct {
E Env
L Level
Addr string
MongoConnStr string
MongoCluster string
RedisHost string
RedisPort int
}
func ExtractEnvInfo ¶ added in v0.1.106
ExtractEnvInfo returns the current environment information.
type EnvironmentOperator ¶ added in v0.1.105
type FSysFileReader ¶
type FSysOperator ¶ added in v0.1.377
type FSysOperator interface {
FSysFileReader
FSysSubFSOperator
}
type FSysSubFSOperator ¶ added in v0.1.377
type FactoryOperator ¶ added in v0.1.10
type FetchManyOption ¶ added in v0.1.416
type FetchManyOption func(*FetchManyOptions)
func WithFetchManyCollection ¶ added in v0.1.416
func WithFetchManyCollection(x string) FetchManyOption
func WithFetchManyMock ¶ added in v0.1.417
func WithFetchManyMock(x any) FetchManyOption
func WithFetchManyQuery ¶ added in v0.1.416
func WithFetchManyQuery(x map[string][]string) FetchManyOption
func WithFetchManyReceiver ¶ added in v0.1.416
func WithFetchManyReceiver(x any) FetchManyOption
func WithFetchManyRequest ¶ added in v0.1.416
func WithFetchManyRequest(x *http.Request) FetchManyOption
func WithFetchManyService ¶ added in v0.1.416
func WithFetchManyService(x string) FetchManyOption
type FetchManyOptions ¶ added in v0.1.416
func ApplyFetchManyOptions ¶ added in v0.1.416
func ApplyFetchManyOptions(opts *FetchManyOptions, modifiers ...FetchManyOption) FetchManyOptions
func (*FetchManyOptions) Validate ¶ added in v0.1.416
func (o *FetchManyOptions) Validate() error
type FetchOneOption ¶ added in v0.1.416
type FetchOneOption func(*FetchOneOptions)
func WithFetchOneCollection ¶ added in v0.1.416
func WithFetchOneCollection(x string) FetchOneOption
func WithFetchOneID ¶ added in v0.1.416
func WithFetchOneID(x fmt.Stringer) FetchOneOption
func WithFetchOneMock ¶ added in v0.1.417
func WithFetchOneMock(x any) FetchOneOption
func WithFetchOneReceiver ¶ added in v0.1.416
func WithFetchOneReceiver(x any) FetchOneOption
func WithFetchOneRequest ¶ added in v0.1.416
func WithFetchOneRequest(x *http.Request) FetchOneOption
func WithFetchOneService ¶ added in v0.1.416
func WithFetchOneService(x string) FetchOneOption
type FetchOneOptions ¶ added in v0.1.416
func ApplyFetchOneOptions ¶ added in v0.1.416
func ApplyFetchOneOptions(opts *FetchOneOptions, modifiers ...FetchOneOption) FetchOneOptions
func (*FetchOneOptions) Validate ¶ added in v0.1.416
func (o *FetchOneOptions) Validate() error
type FetcherOperator ¶ added in v0.1.416
type FetcherOperator interface {
FetchOne(ctx context.Context, opts FetchOneOptions) (any, error)
FetchMany(ctx context.Context, opts FetchManyOptions) ([]any, error)
}
type FieldInArrayFilterOptions ¶ added in v0.0.5
type FilterOptions ¶ added in v0.0.5
type FindManyHandlerOptions ¶ added in v0.1.270
type FindManyOptions ¶ added in v0.0.5
type FindManyOptions struct {
FindManyHandlerOptions
Collection string
Receiver any
SortByKey string
}
type FindOneHandlerOptions ¶ added in v0.1.360
type FindOneHandlerOptions struct {
Bypass
}
type FindOneOptions ¶ added in v0.0.5
type FindOneOptions struct {
Collection string
Receiver any
IDKey string
ID Identifier
}
type FirebaseAuthenticator ¶ added in v0.1.178
type FirebaseMockUser ¶ added in v0.1.220
type FirebaseOperator ¶ added in v0.1.10
type FirebaseOperator interface {
FirebaseAuthenticator
FirebaseUtil
FirebaseTester
InitFirebase(ctx context.Context, credentialsJSON []byte) (*firebase.App, error)
}
type FirebaseTester ¶ added in v0.1.219
type FirebaseUtil ¶ added in v0.1.178
type GenerateUsernameOption ¶ added in v0.1.426
type GenerateUsernameOption func(*GenerateUsernameOptions)
func WithBaseDigit ¶ added in v0.1.426
func WithBaseDigit(x int) GenerateUsernameOption
func WithMaxPerName ¶ added in v0.1.426
func WithMaxPerName(x int) GenerateUsernameOption
func WithMinUsernameLen ¶ added in v0.1.426
func WithMinUsernameLen(x int) GenerateUsernameOption
func WithNames ¶ added in v0.1.426
func WithNames(x []string) GenerateUsernameOption
type GenerateUsernameOptions ¶ added in v0.1.426
type GenerateUsernameOptions struct {
BaseDigit int
MaxPerName int
MinUsernameLen int
Names []string
}
func ApplyGenerateUsernameOptions ¶ added in v0.1.426
func ApplyGenerateUsernameOptions(opts *GenerateUsernameOptions, modifiers ...GenerateUsernameOption) GenerateUsernameOptions
type Geocoder ¶
type Geocoder interface {
TimezoneFromCoordinates(ctx context.Context, latitude, longitude float64) (string, error)
CityFromCoordinates(ctx context.Context, latitude, longitude float64) (string, error)
TimezoneDataFromCoordinates(ctx context.Context, latitude, longitude float64) (*maps.TimezoneResult, error)
GeocodeCoordinates(ctx context.Context, latitude, longitude float64) ([]maps.GeocodingResult, error)
SwapTimezone(ctx context.Context, t time.Time, tz string, toUTC, toMidnight bool) (time.Time, error)
IsUTC(ctx context.Context, t time.Time) (bool, error)
}
type GmailMessager ¶ added in v0.1.381
type GmailMessager interface {
Message(u *gmail.UsersMessagesSendCall, opts ...googleapi.CallOption) (*gmail.Message, error)
}
type GmailService ¶ added in v0.1.381
type GmailService any
type GmailUsersMessageService ¶ added in v0.1.381
type GmailUsersMessageService interface {
Send(userID string, message *gmail.Message) *gmail.UsersMessagesSendCall
}
type GoogleMaps ¶ added in v0.0.5
type GoogleMaps interface {
Timezone(ctx context.Context, r *maps.TimezoneRequest) (*maps.TimezoneResult, error)
Geocode(ctx context.Context, r *maps.GeocodingRequest) ([]maps.GeocodingResult, error)
}
type GzipReader ¶
type GzipUtil ¶
type GzipUtil interface {
WriteGzip(ctx context.Context, w *gzip.Writer, r io.Reader) error
CloseGzipWriter(ctx context.Context, w *gzip.Writer) error
ReadGzip(ctx context.Context, r io.Reader) ([]byte, error)
NewGzipReader(ctx context.Context, r io.Reader) (*gzip.Reader, error)
CopyToBuffer(ctx context.Context, r *gzip.Reader, buf *bytes.Buffer) error
CloseGzipReader(ctx context.Context, r *gzip.Reader) error
}
type GzipWriter ¶
type HTTPClient ¶ added in v0.0.5
type HTTPFileOpener ¶ added in v0.1.377
type HTTPOperator ¶ added in v0.1.377
type HTTPOperator interface {
HTTPResponder
HTTPUtil
HTTPHTML
}
type HTTPRequester ¶
type HTTPResponder ¶ added in v0.1.5
type HTTPResponseWriter ¶ added in v0.1.14
type HTTPServer ¶ added in v0.1.10
type HTTPUtil ¶ added in v0.1.5
type HTTPUtil interface {
QueryString(ctx context.Context, pairs ...string) (string, error)
ValidateQueryParams(ctx context.Context, q map[string][]string, rules ...QueryParamRule) error
CopyHeaders(ctx context.Context, dst, src *http.Request, headers ...string) error
GetHeaders(ctx context.Context, r *http.Request) (http.Header, error)
DecodeBody(ctx context.Context, r *http.Request, v any) error
SetQueryParams(ctx context.Context, r *http.Request, q map[string][]string, override bool) error
ServeFile(ctx context.Context, opts ServeFileOptions) error
}
type HTTPWriter ¶
type HandlerFunc ¶ added in v0.1.11
type HandlerFunc func(w http.ResponseWriter, r *http.Request) error
HandlerFunc defines a handler function.
func (HandlerFunc) Wrap ¶ added in v0.1.11
func (h HandlerFunc) Wrap(RS HTTPResponder) http.HandlerFunc
type ID ¶ added in v0.0.8
type ID struct {
V *string `json:"id"`
}
ID is a custom type for database-agnostic unique IDs.
func NewIDFromQVals ¶ added in v0.1.61
func NewIDFromString ¶ added in v0.0.8
func (*ID) MarshalJSON ¶ added in v0.1.40
func (*ID) UnmarshalJSON ¶ added in v0.1.40
type IDDecoder ¶ added in v0.1.317
type IDDecoder struct{}
func (IDDecoder) DecodeValue ¶ added in v0.1.317
func (IDDecoder) DecodeValue(_ bson.DecodeContext, vr bson.ValueReader, val reflect.Value) error
type IDEncoder ¶ added in v0.1.317
type IDEncoder struct{}
func (IDEncoder) EncodeValue ¶ added in v0.1.317
func (IDEncoder) EncodeValue(_ bson.EncodeContext, vw bson.ValueWriter, val reflect.Value) error
type Identifiable ¶ added in v0.0.5
type Identifier ¶ added in v0.0.5
type IndexEntry ¶ added in v0.0.5
type IndexEntry struct {
Name *string
Field string
SortDirection SortDirection
ExpireAfterSeconds *int32
}
type Indexable ¶ added in v0.1.211
type Indexable interface {
Idx(collection string) CreateIndexesOptions
IdxSrch(collection string) CreateSearchIndexesOptions
}
type InitOption ¶ added in v0.1.385
type InitOption func(*InitOptions)
func WithInitUnmarshaler ¶ added in v0.1.392
func WithInitUnmarshaler(x Unmarshaler) InitOption
func WithRecipientEmail ¶ added in v0.1.385
func WithRecipientEmail(x string) InitOption
func WithRecipientUsername ¶ added in v0.1.385
func WithRecipientUsername(x string) InitOption
func WithSpecifics ¶ added in v0.1.385
func WithSpecifics(x string) InitOption
func WithSupportRedirectURL ¶ added in v0.1.390
func WithSupportRedirectURL(x string) InitOption
func WithTargetLanguage ¶ added in v0.1.385
func WithTargetLanguage(x string) InitOption
type InitOptions ¶ added in v0.1.385
type InitOptions struct {
U Unmarshaler
TargetLanguage string
RecipientEmail string
RecipientUsername string
SupportRedirectURL string
Specifics string
}
func ApplyInitOptions ¶ added in v0.1.385
func ApplyInitOptions(opts *InitOptions, modifiers ...InitOption) InitOptions
type InsertOneHandlerOptions ¶ added in v0.1.270
type InsertOneOptions ¶ added in v0.0.5
type InsertOneOptions struct {
Collection string
Document Identifiable
}
type JSONOption ¶
type JSONOption func(*JSONOptions)
func WithJSONEscapeHTML ¶
func WithJSONEscapeHTML(escape bool) JSONOption
func WithJSONIndent ¶
func WithJSONIndent(indent string) JSONOption
func WithJSONUseNumber ¶
func WithJSONUseNumber(use bool) JSONOption
type JSONOptions ¶
type JSONOptions struct {
Indent string // Enables indentation if non-empty.
EscapeHTML bool // Determines if HTML characters should be escaped.
UseNumber bool // If true, decodes numbers as `json.Number` instead of `float64`.
}
JSONOptions defines settings for encoding/decoding.
func ApplyJSONOptions ¶
func ApplyJSONOptions(opts *JSONOptions, modifiers ...JSONOption) JSONOptions
type LibraryOperator ¶ added in v0.1.45
type LimiterInfo ¶ added in v0.1.11
type LimiterOperator ¶ added in v0.1.10
type LimiterOperator interface {
Engage(next HandlerFunc) HandlerFunc
LimiterInfo
}
type LogOperator ¶ added in v0.1.10
type MatchBehavior ¶ added in v0.0.5
type MatchBehavior = string
MatchBehavior defines different matching behaviors in MongoDB queries, such as in, all, and eq.
type MessageRole ¶ added in v0.1.245
type MessageRole = string
MessageRole represents the role of a message.
const ( // MessageRoleSystem is the role for the system message. MessageRoleSystem MessageRole = "system" // MessageRoleUser is the role for the user message. MessageRoleUser MessageRole = "user" // MessageRoleAssistant is the role for the assistant message. MessageRoleAssistant MessageRole = "assistant" // GrokChatCompletionURL is the URL for the Grok LLM API. GrokChatCompletionURL = "https://api.x.ai/v1/chat/completions" // Grok2LatestModel is the latest model for the Grok LLM. Grok2LatestModel = "grok-2-latest" )
type MiddlewareFunc ¶ added in v0.1.10
type MiddlewareFunc func(HandlerFunc) HandlerFunc
MiddlewareFunc defines a composable middleware around a HandlerFunc.
type MiddlewareOperator ¶ added in v0.1.10
type MiddlewareOperator interface {
Chain(fns ...MiddlewareFunc) MiddlewareFunc
Gzip(next HandlerFunc) HandlerFunc
EnforceHTTPS(next HandlerFunc) HandlerFunc
CheckHeaders(next HandlerFunc) HandlerFunc
CleanURLPath(next HandlerFunc) HandlerFunc
IdempotentPOST(next HandlerFunc) HandlerFunc
RequireReader(next HandlerFunc) HandlerFunc
RequireWriter(next HandlerFunc) HandlerFunc
RequireOwner(next HandlerFunc) HandlerFunc
AuthenticateFirebaseIDToken(next HandlerFunc) HandlerFunc
AuthenticateFirebaseModIDToken(next HandlerFunc) HandlerFunc
AuthenticateOIDCToken(next HandlerFunc) HandlerFunc
AuthenticateWithSecret(next HandlerFunc) HandlerFunc
AuthenticateAny(next HandlerFunc) HandlerFunc
}
type MongoChangeStream ¶ added in v0.0.5
type MongoClient ¶ added in v0.0.5
type MongoCollection ¶ added in v0.0.5
type MongoCollection interface {
InsertOne(ctx context.Context, document any, opts ...options.Lister[options.InsertOneOptions]) (*mongo.InsertOneResult, error)
FindOne(ctx context.Context, filter any, opts ...options.Lister[options.FindOneOptions]) *mongo.SingleResult
Find(ctx context.Context, filter any, opts ...options.Lister[options.FindOptions]) (*mongo.Cursor, error)
ReplaceOne(ctx context.Context, filter any, document any, opts ...options.Lister[options.ReplaceOptions]) (*mongo.UpdateResult, error)
DeleteOne(ctx context.Context, filter any, opts ...options.Lister[options.DeleteOneOptions]) (*mongo.DeleteResult, error)
DeleteMany(ctx context.Context, filter any, opts ...options.Lister[options.DeleteManyOptions]) (*mongo.DeleteResult, error)
Aggregate(ctx context.Context, pipeline any, opts ...options.Lister[options.AggregateOptions]) (*mongo.Cursor, error)
Watch(ctx context.Context, pipeline any, opts ...options.Lister[options.ChangeStreamOptions]) (*mongo.ChangeStream, error)
}
type MongoCursor ¶ added in v0.0.5
type MongoDatabase ¶ added in v0.0.5
type MongoDatabase interface {
Watch(ctx context.Context, pipeline any, opts ...options.Lister[options.ChangeStreamOptions]) (*mongo.ChangeStream, error)
}
type MongoFilter ¶ added in v0.0.5
type MongoFilter interface {
Filter(ctx context.Context, opts FilterOptions) (bson.M, error)
FilterByFieldInArray(ctx context.Context, opts FieldInArrayFilterOptions) (bson.M, error)
FilterByElemMatch(ctx context.Context, opts ElemMatchFilterOptions) (bson.M, error)
FilterByElemsInArray(ctx context.Context, opts ElemsInArrayFilterOptions) (bson.M, error)
FilterByAllElemsInArray(ctx context.Context, opts ElemsInArrayFilterOptions) (bson.M, error)
FilterByFutureDate(ctx context.Context, opts DateFilterOptions) (bson.D, error)
FilterByPastDate(ctx context.Context, opts DateFilterOptions) (bson.D, error)
FilterByExactDate(ctx context.Context, opts DateFilterOptions) (bson.D, error)
CombineM(ctx context.Context, op BSONOperator, m ...bson.M) (bson.M, error)
}
type MongoLookupTarget ¶ added in v0.0.5
type MongoLookupTarget = string
MongoLookupTarget specifies the target field for the lookup stage in a MongoDB aggregation pipeline.
type MongoOperator ¶ added in v0.0.5
type MongoOperator interface {
MongoUtil
MongoFilter
MongoSpecialized
CloserWithCtx
}
type MongoOutCSChan ¶ added in v0.0.5
type MongoOutCSChan = chan *ChangeEvent
MongoOutCSChan is a channel type used for sending decoded MongoDB change events.
type MongoPipeliner ¶ added in v0.0.5
func NewPipeline ¶ added in v0.1.334
func NewPipeline(p mongo.Pipeline) MongoPipeliner
type MongoSpecialized ¶ added in v0.0.5
type MongoSpecialized interface {
Search(ctx context.Context, opts SearchOptions) (*SearchResult, error)
WatchCollection(ctx context.Context, opts WatchCollectionOptions) error
WatchDB(ctx context.Context, opts WatchDBOptions) error
ProcessChangeStream(ctx context.Context, opts ProcessChangeStreamOptions) error
RunPipeline(ctx context.Context, opts RunPipelineOptions) ([]any, error)
}
type MongoVerb ¶ added in v0.0.5
type MongoVerb = string
MongoVerb defines a MongoDB operation keyword, such as match.
type NormalizeOption ¶ added in v0.1.336
type NormalizeOption func(*NormalizeOptions)
func WithRemoveDiacritics ¶ added in v0.1.336
func WithRemoveDiacritics() NormalizeOption
func WithRemoveDigits ¶ added in v0.1.336
func WithRemoveDigits() NormalizeOption
func WithRemoveNonASCII ¶ added in v0.1.336
func WithRemoveNonASCII() NormalizeOption
func WithRemovePunctuation ¶ added in v0.1.336
func WithRemovePunctuation() NormalizeOption
func WithRemoveSymbols ¶ added in v0.1.336
func WithRemoveSymbols() NormalizeOption
func WithToLower ¶ added in v0.1.336
func WithToLower() NormalizeOption
func WithTrimSpace ¶ added in v0.1.336
func WithTrimSpace() NormalizeOption
type NormalizeOptions ¶ added in v0.1.336
type NormalizeOptions struct {
ToLower bool
RemoveDiacs bool
TrimSpace bool
RemovePunct bool
RemoveSpec bool
RemoveDigits bool
RemoveNonASCII bool
}
func ApplyNormalizeOptions ¶ added in v0.1.336
func ApplyNormalizeOptions(opts *NormalizeOptions, modifiers ...NormalizeOption) NormalizeOptions
type Normalizer ¶ added in v0.1.336
type OIDCAuthenticator ¶ added in v0.1.178
type OIDCCreator ¶ added in v0.1.178
type OIDCOperator ¶ added in v0.1.178
type OIDCOperator interface {
OIDCAuthenticator
OIDCCreator
}
type OperationResult ¶ added in v0.1.56
type OperationResult struct {
// Message is the optional operation message.
Message string `json:"message,omitempty"`
// ID is the optional ressource identifier.
ID *ID `json:"id,omitempty"`
// Value is an optional result object.
Value any `json:"value,omitempty"`
}
Operation is a general-purpose response struct.
func NewOperationResult ¶ added in v0.1.57
func NewOperationResult(opts ...OperationResultOption) *OperationResult
type OperationResultOption ¶ added in v0.1.56
type OperationResultOption func(*OperationResult)
func WithID ¶ added in v0.1.56
func WithID(x *ID) OperationResultOption
func WithMessage ¶ added in v0.1.56
func WithMessage(x string) OperationResultOption
func WithValue ¶ added in v0.1.56
func WithValue(x any) OperationResultOption
type PaginationOptions ¶ added in v0.0.5
func (*PaginationOptions) Verify ¶ added in v0.0.5
func (p *PaginationOptions) Verify() error
type PeriodOperator ¶ added in v0.1.10
type PeriodOperator interface {
FirstPeriodStartDate(ctx context.Context, year int) (time.Time, error)
LastDayOfLastPeriod(ctx context.Context, year int) (time.Time, error)
FirstDayOfMonth(ctx context.Context, date time.Time) (time.Time, error)
PeriodNumber(ctx context.Context, date time.Time) (int, error)
TimeOfWeekday(ctx context.Context, date time.Time, weekday time.Weekday) (time.Time, error)
}
type PoolOperator ¶ added in v0.1.10
type ProcessChangeStreamOptions ¶ added in v0.0.5
type ProcessChangeStreamOptions struct {
ChangeStream MongoChangeStream
LookupKey string
Receiver any
Output MongoOutCSChan
}
type PromptMessage ¶ added in v0.1.245
PromptMessage represents a message in the conversation. For contextual messages, see:
type PromptRequest ¶ added in v0.1.245
type PromptRequest struct {
Model string `json:"model"`
M []PromptMessage `json:"messages"`
Stream bool `json:"stream,omitempty"`
Temperature float64 `json:"temperature,omitempty"`
R *PromptResponseFormat `json:"response_format,omitempty"`
}
PromptRequest represents the payload for the LLM API request.
type PromptResponse ¶ added in v0.1.245
type PromptResponse struct {
ID string `json:"id"`
Object string `json:"object"`
Created int `json:"created"`
Model string `json:"model"`
Choices []struct {
Index int `json:"index"`
Message struct {
Role string `json:"role"`
Content string `json:"content"`
Refusal string `json:"refusal,omitempty"`
} `json:"message"`
FinishReason string `json:"finish_reason"`
} `json:"choices"`
Usage struct {
PromptTokens int `json:"prompt_tokens"`
CompletionTokens int `json:"completion_tokens"`
TotalTokens int `json:"total_tokens"`
PromptTokensDetails struct {
TextTokens int `json:"text_tokens"`
AudioTokens int `json:"audio_tokens"`
ImageTokens int `json:"image_tokens"`
CachedTokens int `json:"cached_tokens"`
} `json:"prompt_tokens_details"`
} `json:"usage"`
SystemFingerprint string `json:"system_fingerprint"`
}
PromptResponse represents the response from the Grok LLM API.
type PromptResponseFormat ¶ added in v0.1.245
type PromptResponseFormat struct {
Type string `json:"type"`
JSONSchema *schemaFormat `json:"json_schema,omitempty"`
}
PromptResponseFormat represents the response format customization.
type Prompter ¶ added in v0.1.245
type Prompter interface {
Prompt(ctx context.Context, opts PrompterOpts) (string, error)
}
type PrompterOpts ¶ added in v0.1.245
type PrompterOpts struct {
SystemPrompt string // The system prompt for the LLM.
UserPrompt string // The user prompt for the LLM.
Context []PromptMessage // The context for the LLM.
Temperature float64 // The temperature for the LLM.
R *PromptResponseFormat // The response format for the LLM.
AdditionalOpts map[string]any // Additional options for the LLM to be implemented by prompters, optionally.
}
PrompterOpts represents the options for the Prompter.
type PubSubClient ¶ added in v0.1.162
type PubSubFamily ¶ added in v0.1.162
type PubSubFamily struct {
Topic *PubSubTopic
PushSubscriptions []*PubSubPushSubscription
PullSubscriptions []*PubSubPullSubscription
}
type PubSubKey ¶ added in v0.1.366
type PubSubKey = string
func ToPubSubKey ¶ added in v0.1.366
ToPubSubKey converts a string to lowercase.
type PubSubMessage ¶ added in v0.0.5
type PubSubOperator ¶ added in v0.1.10
type PubSubOperator interface {
MockPayload(ctx context.Context, msg PubSubMessage, sub string) (*PubSubPayload, error)
DecodePayload(ctx context.Context, r *http.Request) (PubSubMessage, error)
Publish(ctx context.Context, topicID string, msg *pubsub.Message) error
NewMessage(ctx context.Context, data string, attrs map[string]string) (*pubsub.Message, error)
NewAttributes(ctx context.Context, attrs ...string) (map[string]string, error)
}
type PubSubPayload ¶ added in v0.1.367
type PubSubPullSubscription ¶ added in v0.1.162
type PubSubPullSubscription struct {
ID string
}
type PubSubPushSubscription ¶ added in v0.1.162
type PubSubTopic ¶ added in v0.1.162
type PubSubTopic struct {
ID string
}
type QueryHandlerOptions ¶ added in v0.1.274
type QueryHandlerOptions struct {
Atz
}
type QueryParamRule ¶ added in v0.1.5
type QueryParamRule struct {
Key string // Name of the query parameter.
DefaultValue string // Default value if not provided in the request.
AcceptedValues []string // Accepted values; nil allows any value.
MultipleValuesAllowed bool // Whether multiple values are permitted.
Optional bool // Whether the parameter is optional.
}
QueryParamRule defines validation rules for a query parameter. It specifies constraints such as key, default value, allowed values, and multiplicity.
type QueryParamRules ¶ added in v0.1.72
type QueryParamRules []QueryParamRule
func (*QueryParamRules) AppendMany ¶ added in v0.1.73
func (q *QueryParamRules) AppendMany(r QueryParamRules)
AppendMany appends multiple QueryParamRules to the QueryParamRules.
func (*QueryParamRules) AppendOne ¶ added in v0.1.73
func (q *QueryParamRules) AppendOne(r QueryParamRule)
Append appends a QueryParamRule to the QueryParamRules.
type Queryable ¶ added in v0.1.68
type Queryable interface {
Rules() QueryParamRules
}
type RangeOption ¶ added in v0.1.338
type RangeOption func(*RangeOptions)
func WithMax ¶ added in v0.1.338
func WithMax(x float64) RangeOption
func WithMin ¶ added in v0.1.338
func WithMin(x float64) RangeOption
type RangeOptions ¶ added in v0.1.338
func ApplyRangeOptions ¶ added in v0.1.338
func ApplyRangeOptions(opts *RangeOptions, modifiers ...RangeOption) RangeOptions
type RawCacheKey ¶ added in v0.1.3
type RawCacheKey string
RawCacheKey wraps a string key to implement fmt.Stringer.
func (RawCacheKey) String ¶ added in v0.1.3
func (r RawCacheKey) String() string
String implements the Stringer interface for RawCacheKey.
type RedisClient ¶ added in v0.0.5
type RedisClient interface {
Closer
Get(ctx context.Context, key string) *redis.StringCmd
Set(ctx context.Context, key string, value any, expiration time.Duration) *redis.StatusCmd
FlushAll(ctx context.Context) *redis.StatusCmd
Scan(ctx context.Context, cursor uint64, match string, count int64) *redis.ScanCmd
TxPipeline() redis.Pipeliner
Exists(ctx context.Context, keys ...string) *redis.IntCmd
Pipeline() redis.Pipeliner
}
type RedisOperator ¶ added in v0.1.10
type RedisOperator interface {
Cacher
}
type ReflectOperator ¶ added in v0.1.10
type RegisteredRoute ¶ added in v0.1.10
RegisteredRoute holds a map of HTTP methods to route entries.
type Registry ¶ added in v0.1.10
type Registry map[*regexp.Regexp]*RegisteredRoute
Registry maps compiled regex patterns to registered routes.
func (*Registry) LenHandlers ¶ added in v0.1.10
LenHandlers returns the total number of handlers across all routes.
type RegistryMutex ¶ added in v0.1.10
RegistryMutex provides thread-safe access to the route registry.
type RenderOption ¶ added in v0.1.385
type RenderOption func(*RenderOptions)
func WithData ¶ added in v0.1.385
func WithData(x any) RenderOption
func WithEmailable ¶ added in v0.1.385
func WithEmailable(x Emailable) RenderOption
func WithFuncs ¶ added in v0.1.385
func WithFuncs(x template.FuncMap) RenderOption
func WithRenderWriter ¶ added in v0.1.385
func WithRenderWriter(x io.Writer) RenderOption
func WithTemplate ¶ added in v0.1.385
func WithTemplate(x string) RenderOption
type RenderOptions ¶ added in v0.1.385
func ApplyRenderOptions ¶ added in v0.1.385
func ApplyRenderOptions(opts *RenderOptions, modifiers ...RenderOption) RenderOptions
type ReplaceOneHandlerOptions ¶ added in v0.1.270
type ReplaceOneOptions ¶ added in v0.0.5
type ReplaceOneOptions struct {
Collection string
Document Identifiable
IDKey string
ID Identifier
}
type RequestOption ¶
type RequestOption func(*RequestOptions)
func WithRequestBody ¶
func WithRequestBody(x io.Reader) RequestOption
func WithRequestHeader ¶
func WithRequestHeader(x http.Header) RequestOption
type RequestOptions ¶
func ApplyRequestOptions ¶
func ApplyRequestOptions(opts *RequestOptions, modifiers ...RequestOption) RequestOptions
type RequestWeight ¶ added in v0.1.10
type RequestWeight = uint
RequestWeight defines the relative cost of a request for rate limiting.
const ( // Unlimited disables rate limiting for the request. Unlimited RequestWeight = 0 )
type RequireOption ¶ added in v0.1.338
type RequireOption func(*RequireOptions)
func WithNonNilPointer ¶ added in v0.1.338
func WithNonNilPointer() RequireOption
func WithNonZeroValue ¶ added in v0.1.338
func WithNonZeroValue() RequireOption
type RequireOptions ¶ added in v0.1.338
func ApplyRequireOptions ¶ added in v0.1.338
func ApplyRequireOptions(opts *RequireOptions, modifiers ...RequireOption) RequireOptions
type Route ¶ added in v0.1.10
type Route struct {
Svc string
Pairs []string
HandlerFunc HandlerFunc
Weight uint
Methods []string
}
Route holds route metadata to be compiled and registered.
func (Route) CompileRegex ¶ added in v0.1.10
compileRegex builds a compiled regex for matching the route.
type RouterKeyExtractor ¶ added in v0.1.198
type RouterOperator ¶ added in v0.1.10
type RouterParser ¶ added in v0.1.27
type RunPipelineOptions ¶ added in v0.1.79
type RunPipelineOptions struct {
Collection string
Receiver any
Pipeline MongoPipeliner
}
type SearchIndexEntry ¶ added in v0.0.5
type SearchIndexEntry struct {
Fields AtlasIndexes
VectorField *VectorSearchField
}
type SearchManyHandlerOptions ¶ added in v0.1.270
type SearchManyHandlerOptions struct {
Atz
Filter bson.M
SortByKey string
SortDirection SortDirection
}
type SearchOptions ¶ added in v0.0.5
type SearchOptions struct {
SearchManyHandlerOptions
Collection string
Receiver any
T *TextOptions
P *PaginationOptions
}
type SearchResult ¶ added in v0.1.56
type SearchResult struct {
Results []any `json:"results,omitempty"`
TotalCount int32 `json:"total_count,omitempty"`
LastPage int32 `json:"last_page,omitempty"`
}
SearchResult represents the response from a search operation.
func NewSearchResult ¶ added in v0.1.57
func NewSearchResult(opts ...SearchResultOption) *SearchResult
type SearchResultOption ¶ added in v0.1.56
type SearchResultOption func(*SearchResult)
func WithSearchLastPage ¶ added in v0.1.56
func WithSearchLastPage(x int32) SearchResultOption
func WithSearchResults ¶ added in v0.1.56
func WithSearchResults(x []any) SearchResultOption
func WithSearchTotalCount ¶ added in v0.1.56
func WithSearchTotalCount(x int32) SearchResultOption
type Searchable ¶ added in v0.1.75
type Searchable interface {
SearchIn() []string
}
type SecretInfo ¶ added in v0.1.13
SecretInfo holds the identifiers needed to access a secret.
func (SecretInfo) BuildSecretName ¶ added in v0.1.13
func (s SecretInfo) BuildSecretName(projectID string) string
BuildSecretName constructs the full secret name path for Secret Manager.
type SecretManagerClient ¶ added in v0.1.13
type SecretManagerClient interface {
AccessSecretVersion(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error)
Close() error
}
type SecretOperator ¶ added in v0.1.13
type SecretOperator interface {
GetSecret(ctx context.Context, s SecretInfo) ([]byte, error)
CloserWithCtx
}
type SemaphoreInfo ¶ added in v0.1.11
type SemaphoreOperator ¶ added in v0.1.10
type SendEmailOption ¶ added in v0.1.381
type SendEmailOption func(*SendEmailOptions)
func WithBcc ¶ added in v0.1.381
func WithBcc(x ...string) SendEmailOption
func WithCc ¶ added in v0.1.381
func WithCc(x ...string) SendEmailOption
func WithContent ¶ added in v0.1.381
func WithContent(x io.Reader) SendEmailOption
func WithSender ¶ added in v0.1.381
func WithSender(x *EmailSenderInfo) SendEmailOption
func WithSubject ¶ added in v0.1.381
func WithSubject(x string) SendEmailOption
func WithTo ¶ added in v0.1.381
func WithTo(x ...string) SendEmailOption
type SendEmailOptions ¶ added in v0.1.381
type SendEmailOptions struct {
Sender *EmailSenderInfo
Subject string
Content io.Reader
To []string
Cc []string
Bcc []string
}
func ApplySendEmailOptions ¶ added in v0.1.381
func ApplySendEmailOptions(opts *SendEmailOptions, modifiers ...SendEmailOption) SendEmailOptions
type ServeFileOption ¶ added in v0.1.377
type ServeFileOption func(*ServeFileOptions)
func WithFS ¶ added in v0.1.377
func WithFS(x fs.FS) ServeFileOption
func WithReplacePath ¶ added in v0.1.377
func WithReplacePath(x string) ServeFileOption
func WithRequest ¶ added in v0.1.377
func WithRequest(x *http.Request) ServeFileOption
func WithStripPrefix ¶ added in v0.1.377
func WithStripPrefix(x string) ServeFileOption
func WithWriter ¶ added in v0.1.377
func WithWriter(x http.ResponseWriter) ServeFileOption
type ServeFileOptions ¶ added in v0.1.377
type ServeFileOptions struct {
W http.ResponseWriter
R *http.Request
ToStrip string
ToReplace string
FS fs.FS
}
func ApplyServeFileOptions ¶ added in v0.1.377
func ApplyServeFileOptions(opts *ServeFileOptions, modifiers ...ServeFileOption) ServeFileOptions
type ServerInfo ¶ added in v0.1.11
type ServerInfo interface {
GetUseHTTP2(ctx context.Context) (bool, error)
GetUseH2C(ctx context.Context) (bool, error)
GetBoundOn(ctx context.Context) (string, error)
GetIdleTimeout(ctx context.Context) (time.Duration, error)
GetReadTimeout(ctx context.Context) (time.Duration, error)
GetWriteTimeout(ctx context.Context) (time.Duration, error)
}
type ServerOperator ¶ added in v0.1.11
type ServerOperator interface {
http.Handler
ServerRunner
ServerInfo
}
type ServerRunner ¶ added in v0.1.11
type SortDirection ¶ added in v0.0.5
type SortDirection int
SortDirection represents the sorting order for MongoDB queries.
type StringOperator ¶ added in v0.1.336
type StringOperator interface {
Generator
Normalizer
Conformer
Parser
}
type TemplateOperator ¶ added in v0.1.385
type TemplateOperator interface {
TemplateRenderer
}
type TemplateRenderer ¶ added in v0.1.385
type TemplateRenderer interface {
Render(ctx context.Context, opts RenderOptions) error
}
type TextOptions ¶ added in v0.0.5
type Tool ¶
type Tool[C any] struct { Client C Logger LogOperator }
func NewTool ¶
func NewTool[C any](client C, opts ToolOptions[C]) *Tool[C]
type ToolOption ¶
type ToolOption[C any] func(*ToolOptions[C])
func WithLogger ¶
func WithLogger[C any](x LogOperator) ToolOption[C]
type ToolOptions ¶
type ToolOptions[C any] struct { Logger LogOperator }
func ApplyToolOptions ¶ added in v0.1.12
func ApplyToolOptions[C any](opts *ToolOptions[C], modifiers ...ToolOption[C]) ToolOptions[C]
type TranslateClient ¶ added in v0.1.384
type TranslateCommonOption ¶ added in v0.1.393
type TranslateCommonOption func(*TranslateCommonOptions)
func WithBaseOnly ¶ added in v0.1.393
func WithBaseOnly(x bool) TranslateCommonOption
func WithSourceTag ¶ added in v0.1.393
func WithSourceTag(x language.Tag) TranslateCommonOption
func WithTargetTag ¶ added in v0.1.393
func WithTargetTag(x language.Tag) TranslateCommonOption
type TranslateCommonOptions ¶ added in v0.1.384
type TranslateHTMLOption ¶ added in v0.1.393
type TranslateHTMLOption func(*TranslateHTMLOptions)
func WithHTMLReader ¶ added in v0.1.393
func WithHTMLReader(x io.Reader) TranslateHTMLOption
func WithHTMLSelector ¶ added in v0.1.393
func WithHTMLSelector(x string) TranslateHTMLOption
type TranslateHTMLOptions ¶ added in v0.1.384
type TranslateHTMLOptions struct {
TranslateCommonOptions
R io.Reader
Selector string
}
func ApplyTranslateHTMLOptions ¶ added in v0.1.393
func ApplyTranslateHTMLOptions(base *TranslateHTMLOptions, htmlModifiers []TranslateHTMLOption, commonModifiers ...TranslateCommonOption) TranslateHTMLOptions
type TranslateTextOption ¶ added in v0.1.393
type TranslateTextOption func(*TranslateTextOptions)
func WithConvertLineBreaks ¶ added in v0.1.393
func WithConvertLineBreaks(x bool) TranslateTextOption
func WithText ¶ added in v0.1.393
func WithText(x string) TranslateTextOption
func WithTranslateOpts ¶ added in v0.1.393
func WithTranslateOpts(x *translate.Options) TranslateTextOption
type TranslateTextOptions ¶ added in v0.1.384
type TranslateTextOptions struct {
TranslateCommonOptions
Text string
ConvertLineBreaks bool
Opts *translate.Options
}
func ApplyTranslateTextOptions ¶ added in v0.1.393
func ApplyTranslateTextOptions(base *TranslateTextOptions, textModifiers []TranslateTextOption, commonModifiers ...TranslateCommonOption) TranslateTextOptions
type TranslationOperator ¶ added in v0.1.384
type TranslationOperator interface {
TranslateText(ctx context.Context, opts TranslateTextOptions) (string, error)
TranslateHTML(ctx context.Context, opts TranslateHTMLOptions) (io.Reader, error)
ParseLanguage(ctx context.Context, BCP47Code string) (*language.Tag, error)
SuggestBestMatch(ctx context.Context, userLanguage, fallback language.Tag) (*language.Tag, error)
CloserWithCtx
}
type TwilioAPIService ¶ added in v0.1.364
type TwilioAPIService interface {
CreateMessage(params *twilioApi.CreateMessageParams) (*twilioApi.ApiV2010Message, error)
}
type TwilioClient ¶ added in v0.1.364
type TwilioClient interface{}
type TwilioOperator ¶ added in v0.1.364
type TwilioOperator interface {
TwilioSMS
}
type Unmarshaler ¶
type ValidationOperator ¶ added in v0.1.338
type VectorSearchField ¶ added in v0.0.5
type Visibility ¶ added in v0.1.409
type Visibility uint
const ( Private Visibility = iota Contacts All )
func (Visibility) Validate ¶ added in v0.1.411
func (v Visibility) Validate() error
type WatchCollectionOptions ¶ added in v0.0.5
type WatchCollectionOptions struct {
Collection string
Receiver any
Pipeline MongoPipeliner
Options *options.ChangeStreamOptionsBuilder
LookupKey string
Output MongoOutCSChan
}
type WatchDBOptions ¶ added in v0.0.5
type WatchDBOptions struct {
Receiver any
Pipeline MongoPipeliner
Options *options.ChangeStreamOptionsBuilder
LookupKey string
Output MongoOutCSChan
}
Source Files
¶
- authentication.go
- authorization.go
- base64.go
- basis.go
- cache.go
- cert.go
- close.go
- db.go
- email.go
- env.go
- factory.go
- fetcher.go
- firebase.go
- fsys.go
- geocoder.go
- gmail.go
- googlemaps.go
- gzip.go
- handler.go
- http.go
- id.go
- identifiable.go
- indexable.go
- inout.go
- json.go
- library.go
- limiter.go
- log.go
- middleware.go
- mongo.go
- oidc.go
- period.go
- pipeliner.go
- pool.go
- prompter.go
- pubsub.go
- queryable.go
- redis.go
- reflect.go
- registry.go
- result_authorization.go
- result_operation.go
- result_search.go
- router.go
- scopable.go
- searchable.go
- secret.go
- semaphore.go
- server.go
- sortable.go
- string.go
- template.go
- tool.go
- translation.go
- twilio.go
- validation.go
- visibility.go