README
¶
Janstun Gear Library
Contents
Behaviors
Messaging
- Subscriber
- Publisher
- Async Broker
- Applicant
- Sync Broker
- Pipeline
HTTP
- Mux (Multiplexer)
- Gateway
Stream
- Basic
- Client
- Gateway
Persistence
- Dictionary
- Relational SQL
- Documentor
Authentication
- Basic
- Key
Logging
- Basic
- Levelled
Inbox
- SMS
Outbox
- SMS
Usage
Examples
Todo
License
This software is licensed under the MIT license. © 2019 Janstun
Documentation
¶
Index ¶
- func LimitClause(limit, offset uint) (string, []interface{})
- type Applicant
- type AsyncBroker
- type BasicAuthentication
- type Dictionary
- type DocAggregate
- type DocDatabase
- type DocFile
- type DocFileStorage
- type DocQuery
- type Documentor
- type EmailInbox
- type EmailOutbox
- type HttpGateway
- type HttpMux
- type KeyAuthentication
- type LevelledLogger
- type LogLevel
- type Logger
- type Message
- type Pipeline
- type Publisher
- type SmsInbox
- type SmsOutbox
- type Sql
- type Stream
- type StreamClient
- type StreamGateway
- type Subscriber
- type SyncBroker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LimitClause ¶
Types ¶
type AsyncBroker ¶
type AsyncBroker interface { Publisher Subscriber }
Message Queue - Publish Subscribe service
type BasicAuthentication ¶
type Dictionary ¶
type Dictionary interface { Put(key string, value interface{}) error Has(key string) bool Get(key string) interface{} Delete(key string) error GetDefault(key string, value interface{}) interface{} }
Key/Value Storage
type DocAggregate ¶
type DocAggregate interface { // TODO: Create(info *CollectionInfo) error Drop() error // TODO: EnsureIndex(index Index) error EnsureIndexKey(key ...string) error DropIndex(key ...string) error DropIndexName(name string) error Count() (n int, err error) Find(query interface{}) DocQuery FindId(id interface{}) DocQuery Insert(docs ...interface{}) error Update(selector interface{}, update interface{}) error UpdateId(id interface{}, update interface{}) error Remove(selector interface{}) error RemoveId(id interface{}) error }
type DocDatabase ¶
type DocDatabase interface { Aggregate(name string) DocAggregate FileStorage(prefix string) DocFileStorage }
type DocFile ¶
type DocFile interface { io.Reader io.Writer io.Closer io.Seeker Id() interface{} SetId(id interface{}) Name() string SetName(name string) Size() int64 ContentType() string SetContentType(ctype string) GetMeta(result interface{}) (err error) SetMeta(metadata interface{}) MD5() string SetChunkSize(bytes int) UploadDate() time.Time SetUploadDate(t time.Time) Abort() }
type DocFileStorage ¶
type DocQuery ¶
type DocQuery interface { Count() (n int, err error) All(result interface{}) error // TODO: Apply(change Change, result interface{}) (info *ChangeInfo, err error) Update(update interface{}, result interface{}) (int, error) Batch(n int) DocQuery Distinct(key string, result interface{}) error One(result interface{}) error Limit(n int) DocQuery Skip(n int) DocQuery Prefetch(p float64) DocQuery Select(selector interface{}) DocQuery Sort(fields ...string) DocQuery }
type Documentor ¶
type Documentor interface { DB(name string) DocDatabase Close() }
type EmailInbox ¶
type EmailInbox interface {
ReceiveEmail() (interface{}, error)
}
type EmailOutbox ¶
type EmailOutbox interface {
SendEmail(interface{}) error
}
type HttpGateway ¶
type HttpMux ¶
func CombineHttpMuxes ¶
type KeyAuthentication ¶
type LevelledLogger ¶
type StreamClient ¶
type StreamGateway ¶
type Subscriber ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.