Documentation
¶
Index ¶
- Constants
- Variables
- type Engine
- type Environment
- type Event
- func (m *Event) GetBody() []byte
- func (m *Event) GetCorrelationId() string
- func (m *Event) GetData() interface{}
- func (m *Event) GetDebug() bool
- func (m *Event) GetExchange() string
- func (m *Event) GetName() string
- func (m *Event) GetReplyTo() IReplyTo
- func (m *Event) GetRoutingKey() string
- func (m *Event) NilBody() bool
- type GrpcClient
- type GrpcConfig
- type GrpcServer
- type HttpServer
- type IEnvironment
- type IEvent
- type IFrameworkRabbitMQPublisher
- type IGrpcClient
- type IGrpcConfig
- type IGrpcServer
- type IGrpcServiceClient
- type IHttpServer
- type IMongoDB
- type IMongoDBRepository
- type IMySQL
- type IMySQLRepository
- type IRabbitBody
- type IRabbitMQConfig
- type IRabbitMQConsumer
- type IRabbitMQDsn
- type IRabbitMQPublisher
- type IRabbitMQServer
- type IRabbitMQServiceClient
- type IRedis
- type IRedisRepository
- type IReplyTo
- type ITcpClient
- type ITcpConfig
- type ITcpServer
- type ITcpServiceClient
- type ITcpServiceHandler
- type IWebSocketBody
- type IWebSocketEvent
- type IWebSocketEventHandler
- type IWebSocketRoute
- type IWebSocketServer
- type IdentityNetwork
- type IdentityService
- type IdentitySource
- type MongoDB
- type MySQL
- func (mysql *MySQL) DebugMode() bool
- func (mysql *MySQL) GetCharset() string
- func (mysql *MySQL) GetDatabase() string
- func (mysql *MySQL) GetDisableNestedTransaction() bool
- func (mysql *MySQL) GetDsn() string
- func (mysql *MySQL) GetHost() string
- func (mysql *MySQL) GetLoc() string
- func (mysql *MySQL) GetParseTime() string
- func (mysql *MySQL) GetPassword() string
- func (mysql *MySQL) GetPort() string
- func (mysql *MySQL) GetQueryFields() bool
- func (mysql *MySQL) GetRepositories() []IMySQLRepository
- func (mysql *MySQL) GetUsername() string
- func (mysql *MySQL) Migration() bool
- type RabbitBody
- type RabbitMQConfig
- type RabbitMQConsumer
- func (r *RabbitMQConsumer) GenerateReplyTo() (replyTo ReplyTo)
- func (r *RabbitMQConsumer) GetBody() IRabbitBody
- func (r *RabbitMQConsumer) GetDebug() bool
- func (r *RabbitMQConsumer) GetExchange() string
- func (r *RabbitMQConsumer) GetExchangeType() string
- func (r *RabbitMQConsumer) GetListener() func(Engine)
- func (r *RabbitMQConsumer) GetName() string
- func (r *RabbitMQConsumer) GetQueue() string
- func (r *RabbitMQConsumer) GetRoutingKey() string
- type RabbitMQDsn
- type RabbitMQPublisher
- type RabbitMQServer
- func (r *RabbitMQServer) GetAutoAck() bool
- func (r *RabbitMQServer) GetConsumers() []IRabbitMQConsumer
- func (r *RabbitMQServer) GetHost() string
- func (r *RabbitMQServer) GetPassword() string
- func (r *RabbitMQServer) GetPort() string
- func (r *RabbitMQServer) GetPublishers() []IRabbitMQPublisher
- func (r *RabbitMQServer) GetUsername() string
- func (r *RabbitMQServer) GetVHost() string
- type Redis
- type Replica
- type ReplyTo
- type Repository
- type Response
- type SqLite
- type TcpClient
- type TcpConfig
- type TcpServer
- type WebSocketBody
- type WebSocketEvent
- type WebSocketEventHandler
- type WebSocketRoute
- type WebSocketServer
Constants ¶
const ( CLIENT_GRPC_NAME = "lets-service" CLIENT_GRPC_HOST = "127.0.0.1" CLIENT_GRPC_PORT = "5100" )
Default grpc configuration
const ( SERVER_HTTP_PORT = "5000" SERVER_HTTP_MODE = "debug" )
Default gRPC configuration
const ( MONGODB_DSN = "mongodb://localhost:27017" MONGODB_DATABASE = "default" )
const ( MYSQL_DB_HOST = "localhost" MYSQL_DB_PORT = "3306" MYSQL_DB_USERNAME = "root" MYSQL_DB_PASSWORD = "" MYSQL_DB_DATABASE = "lets" MYSQL_DB_CHARSET = "utf8" MYSQL_DB_PARSE_TIME = "True" MYSQL_DB_LOC = "Local" MYSQL_DB_MIGRATION = false )
const ( LISTEN_RABBIT_NAME = "Default Manager" LISTEN_RABBIT_VHOST = "/" LISTEN_RABBIT_EXCHANGE = "" LISTEN_RABBIT_EXCHANGE_TYPE = amqp091.ExchangeDirect LISTEN_RABBIT_ROUTING_KEY = "" LISTEN_RABBIT_QUEUE = "" LISTEN_RABBIT_DEBUG = true )
Default configuration
const ( RQ_USERNAME = "guest" RQ_PASSWORD = "guest" RQ_HOST = "localhost" RQ_PORT = "5672" RQ_VHOST = "/" )
Default configuration
const ( CALLER_RABBIT_NAME_EXAMPLE = "default-name" CALLER_RABBIT_EXCHANGE_EXAMPLE = "default-exchange" CALLER_RABBIT_DEBUG_EXAMPLE = false )
Default configuration
const ( RABBIT_HOST = "localhost" RABBIT_PORT = "5672" RABBIT_USERNAME = "guest" RABBIT_PASSWORD = "guest" RABBIT_VHOST = "/" )
Default configuration
const ( REDIS_HOST = "localhost" REDIS_PORT = "6379" REDIS_USERNAME = "" REDIS_PASSWORD = "" REDIS_DATABASE = 0 )
const ( CLIENT_TCP_NAME = "lets-connect-tcp" CLIENT_TCP_HOST = "127.0.0.1" CLIENT_TCP_PORT = "5050" CLIENT_TCP_MODE = "debug" )
Default grpc configuration
const ( SERVER_TCP_PORT = "5050" SERVER_TCP_MODE = "debug" )
Default gRPC configuration
const ( SERVER_WS_PORT = "5050" SERVER_WS_MODE = "debug" )
Default gRPC configuration
const (
SERVER_GRPC_PORT = "5100"
)
Default grpc server configuration
Variables ¶
var ( ErrNotImplemented = errors.New("not implemented function") ErrCantCreate = errors.New("cant create") )
Functions ¶
This section is empty.
Types ¶
type Environment ¶
Serve information
func (*Environment) GetDebug ¶
func (e *Environment) GetDebug() string
func (*Environment) GetName ¶
func (e *Environment) GetName() string
type Event ¶
type Event struct { Name string Exchange string // Service exchange. RoutingKey string // Service routing key. Data interface{} ReplyTo IReplyTo CorrelationId string Debug bool Body IRabbitBody }
func (*Event) GetCorrelationId ¶
func (*Event) GetExchange ¶
func (*Event) GetReplyTo ¶
func (*Event) GetRoutingKey ¶
type GrpcClient ¶
type GrpcClient struct { Name string Host string Port string ClientOptions []grpc.DialOption Clients []IGrpcServiceClient }
Client information
func (*GrpcClient) GetClientOptions ¶
func (gc *GrpcClient) GetClientOptions() []grpc.DialOption
Get Client Option
type GrpcConfig ¶
type GrpcConfig struct { Server IGrpcServer Clients []IGrpcClient }
GRPC configuration struct
func (*GrpcConfig) GetClients ¶
func (g *GrpcConfig) GetClients() []IGrpcClient
Get gRPC client configuration
func (*GrpcConfig) GetServer ¶
func (g *GrpcConfig) GetServer() IGrpcServer
Get gRPC server configuration
type GrpcServer ¶
type GrpcServer struct { Port string Router func(*grpc.Server) ServerOptions []grpc.ServerOption }
Server information
func (*GrpcServer) GetServerOptions ¶
func (g *GrpcServer) GetServerOptions() []grpc.ServerOption
Get Router
type HttpServer ¶
type HttpServer struct { Port string Middleware func(*gin.Engine) Router func(*gin.Engine) Gzip bool Mode string }
Serve information
func (*HttpServer) GetMiddleware ¶
func (hs *HttpServer) GetMiddleware() func(*gin.Engine)
Get Middleware
type IEnvironment ¶
type IGrpcClient ¶
type IGrpcClient interface { GetName() string GetHost() string GetPort() string GetClientOptions() []grpc.DialOption GetClients() []IGrpcServiceClient }
Interface for grpc method
type IGrpcConfig ¶
type IGrpcConfig interface { GetServer() IGrpcServer GetClients() []IGrpcClient }
GRPC configuration interface
type IGrpcServer ¶
type IGrpcServer interface { GetPort() string GetRouter() func(*grpc.Server) GetServerOptions() []grpc.ServerOption }
Interface for gRPC
type IGrpcServiceClient ¶
type IGrpcServiceClient interface {
SetConnection(*grpc.ClientConn)
}
type IHttpServer ¶
type IHttpServer interface { GetPort() string GetMode() string GetMiddleware() func(*gin.Engine) GetRouter() func(*gin.Engine) GetGzip() bool }
Interface for accessable method
type IMongoDB ¶
type IMongoDB interface { GetDsn() string GetDatabase() string GetRepositories() []IMongoDBRepository }
type IMongoDBRepository ¶
type IMySQL ¶
type IMySQL interface { GetHost() string GetPort() string GetUsername() string GetPassword() string GetDatabase() string GetCharset() string GetParseTime() string GetLoc() string DebugMode() bool GetRepositories() []IMySQLRepository GetDsn() string Migration() bool GetQueryFields() bool GetDisableNestedTransaction() bool }
type IRabbitBody ¶
type IRabbitMQConfig ¶
type IRabbitMQConfig interface {
GetServers() []IRabbitMQServer
}
type IRabbitMQConsumer ¶
type IRabbitMQConsumer interface { GetName() string GetExchange() string GetExchangeType() string GetRoutingKey() string GetQueue() string GetDebug() bool GetListener() func(Engine) GenerateReplyTo() ReplyTo GetBody() IRabbitBody }
Interface for dsn accessable method
type IRabbitMQDsn ¶
type IRabbitMQDsn interface { GetHost() string GetPort() string GetUsername() string GetPassword() string GetVirtualHost() string }
Interface for dsn accessable method
type IRabbitMQPublisher ¶
type IRabbitMQPublisher interface { GetName() string GetClients() []IRabbitMQServiceClient }
Interface for dsn accessable method
type IRabbitMQServer ¶
type IRabbitMQServer interface { GetHost() string GetPort() string GetUsername() string GetPassword() string GetVHost() string GetConsumers() []IRabbitMQConsumer GetPublishers() []IRabbitMQPublisher GetAutoAck() bool }
type IRabbitMQServiceClient ¶
type IRabbitMQServiceClient interface {
SetConnection(IFrameworkRabbitMQPublisher)
}
type IRedisRepository ¶
type IRedisRepository interface {
SetDriver(*redis.Client)
}
type ITcpClient ¶
type ITcpClient interface { GetName() string GetHost() string GetPort() string GetMode() string GetClients() []ITcpServiceClient }
Interface for grpc method
type ITcpConfig ¶
type ITcpConfig interface { GetServers() []ITcpServer GetClients() []ITcpClient }
GRPC configuration interface
type ITcpServer ¶
type ITcpServer interface { GetPort() string GetMode() string GetHandler() ITcpServiceHandler }
Interface for accessable method
type ITcpServiceClient ¶
type ITcpServiceClient interface { OnConnect() OnDisconnect() }
type ITcpServiceHandler ¶
type ITcpServiceHandler interface { OnConnect() OnDisconnect() }
type IWebSocketBody ¶
type IWebSocketEvent ¶
type IWebSocketEventHandler ¶
type IWebSocketEventHandler interface { Event(string, func(IWebSocketEvent)) Call(string, IWebSocketEvent) }
Engine for controller
type IWebSocketRoute ¶
type IWebSocketServer ¶
type IWebSocketServer interface { GetPort() string GetMode() string GetRoutes() []IWebSocketRoute }
Interface for accessable method
type IdentityNetwork ¶ added in v1.4.7
type IdentityService ¶
type IdentityService struct { Name string Description string ServiceDns string `desc:"Service DNS"` Layer string `desc:"Microservice Layer"` Author string }
Serve information
type IdentitySource ¶
type MongoDB ¶
type MongoDB struct { Dsn string Database string Repositories []IMongoDBRepository }
func (*MongoDB) GetDatabase ¶
func (*MongoDB) GetRepositories ¶
func (r *MongoDB) GetRepositories() []IMongoDBRepository
type MySQL ¶
type MySQL struct { Host string Port string Username string Password string Database string Charset string ParseTime string Loc string Debug bool Gorm *gorm.DB DB *sql.DB Repositories []IMySQLRepository EnableMigration bool QueryFields bool DisableNestedTransaction bool }
func (*MySQL) GetCharset ¶
func (*MySQL) GetDatabase ¶
func (*MySQL) GetDisableNestedTransaction ¶ added in v1.4.4
func (*MySQL) GetParseTime ¶
func (*MySQL) GetPassword ¶
func (*MySQL) GetQueryFields ¶ added in v1.4.4
func (*MySQL) GetRepositories ¶
func (mysql *MySQL) GetRepositories() []IMySQLRepository
func (*MySQL) GetUsername ¶
type RabbitBody ¶
type RabbitBody struct { Payload interface{} Event string `json:"event"` Data interface{} `json:"data"` }
func (*RabbitBody) Setup ¶
func (rb *RabbitBody) Setup()
type RabbitMQConfig ¶
type RabbitMQConfig struct {
Servers []IRabbitMQServer
}
func (*RabbitMQConfig) GetServers ¶
func (r *RabbitMQConfig) GetServers() []IRabbitMQServer
type RabbitMQConsumer ¶
type RabbitMQConsumer struct { Name string `json:"name"` Exchange string `json:"exchange"` ExchangeType string `json:"type"` RoutingKey string `json:"routing_key"` Queue string `json:"queue"` Debug string `json:"debug"` Listener func(Engine) CustomPayload IRabbitBody `json:"custom_payload"` }
Target host information.
func (*RabbitMQConsumer) GenerateReplyTo ¶
func (r *RabbitMQConsumer) GenerateReplyTo() (replyTo ReplyTo)
Generating reply to payload.
func (*RabbitMQConsumer) GetBody ¶
func (r *RabbitMQConsumer) GetBody() IRabbitBody
Get payload structure for received message.
func (*RabbitMQConsumer) GetExchange ¶
func (r *RabbitMQConsumer) GetExchange() string
Get Exchange.
func (*RabbitMQConsumer) GetExchangeType ¶
func (r *RabbitMQConsumer) GetExchangeType() string
Get Exchange Type.
func (*RabbitMQConsumer) GetListener ¶
func (r *RabbitMQConsumer) GetListener() func(Engine)
Get Listener.
func (*RabbitMQConsumer) GetRoutingKey ¶
func (r *RabbitMQConsumer) GetRoutingKey() string
Get Routing Key.
type RabbitMQDsn ¶
type RabbitMQDsn struct {
Host, Port, Username, Password, VirtualHost string
}
Target host information.
func (*RabbitMQDsn) GetVirtualHost ¶
func (rtm *RabbitMQDsn) GetVirtualHost() string
Get VirtualHost.
type RabbitMQPublisher ¶
type RabbitMQPublisher struct { Name string `json:"name"` Clients []IRabbitMQServiceClient }
Target host information.
func (*RabbitMQPublisher) GetClients ¶
func (r *RabbitMQPublisher) GetClients() []IRabbitMQServiceClient
Get Clients.
type RabbitMQServer ¶
type RabbitMQServer struct { Host string Port string Username string Password string VirtualHost string Consumers []IRabbitMQConsumer Publishers []IRabbitMQPublisher AutoAck bool }
Target host information.
func (*RabbitMQServer) GetConsumers ¶
func (r *RabbitMQServer) GetConsumers() []IRabbitMQConsumer
Get Consumers.
func (*RabbitMQServer) GetPublishers ¶
func (r *RabbitMQServer) GetPublishers() []IRabbitMQPublisher
Get Publisher.
type Redis ¶
type Redis struct { Host string Port string Username string Password string Database int Debug bool Repositories []IRedisRepository }
func (*Redis) GetDatabase ¶
func (*Redis) GetPassword ¶
func (*Redis) GetRepositories ¶
func (r *Redis) GetRepositories() []IRedisRepository
func (*Redis) GetUsername ¶
type ReplyTo ¶
func (*ReplyTo) SetRoutingKey ¶
type Repository ¶ added in v1.5.0
type Repository struct { DB *gorm.DB Mu *sync.RWMutex Con *sql.DB // sync DbName string Table string }
func (*Repository) DatabaseName ¶ added in v1.5.0
func (tbl *Repository) DatabaseName() string
Get database name of this repository
func (*Repository) SetDriver ¶ added in v1.5.0
func (tbl *Repository) SetDriver(db *gorm.DB, mu *sync.RWMutex)
Implement types.IMySQLRepository.
func (*Repository) TableName ¶ added in v1.5.0
func (tbl *Repository) TableName() string
Get table name of this repository
type Response ¶
type Response struct { Code int `json:"code"` Status string `json:"status"` Message string `json:"message,omitempty"` }
Extender internal response
type TcpClient ¶
type TcpClient struct { Name string Host string Port string Mode string Clients []ITcpServiceClient }
Client information
type TcpConfig ¶
type TcpConfig struct { Servers []ITcpServer Clients []ITcpClient }
GRPC configuration struct
func (*TcpConfig) GetClients ¶
func (tcp *TcpConfig) GetClients() []ITcpClient
Get gRPC client configuration
func (*TcpConfig) GetServers ¶
func (tcp *TcpConfig) GetServers() []ITcpServer
Get gRPC server configuration
type TcpServer ¶
type TcpServer struct { Port string Mode string Handler ITcpServiceHandler }
Serve information
type WebSocketBody ¶
type WebSocketBody struct { Action string `json:"action"` Data interface{} `json:"data"` }
func (*WebSocketBody) GetAction ¶
func (wsb *WebSocketBody) GetAction() string
func (*WebSocketBody) GetData ¶
func (wsb *WebSocketBody) GetData() interface{}
func (*WebSocketBody) SetAction ¶
func (wsb *WebSocketBody) SetAction(action string)
func (*WebSocketBody) SetData ¶
func (wsb *WebSocketBody) SetData(data interface{})
func (*WebSocketBody) Setup ¶
func (wsb *WebSocketBody) Setup()
type WebSocketEvent ¶
type WebSocketEvent struct { Connection *websocket.Conn Name string Data interface{} Debug bool Body IWebSocketBody }
func (*WebSocketEvent) GetBody ¶
func (m *WebSocketEvent) GetBody() []byte
func (*WebSocketEvent) GetConnection ¶
func (m *WebSocketEvent) GetConnection() *websocket.Conn
func (*WebSocketEvent) GetData ¶
func (m *WebSocketEvent) GetData() interface{}
func (*WebSocketEvent) GetDebug ¶
func (m *WebSocketEvent) GetDebug() bool
func (*WebSocketEvent) GetName ¶
func (m *WebSocketEvent) GetName() string
func (*WebSocketEvent) NilBody ¶
func (m *WebSocketEvent) NilBody() bool
type WebSocketEventHandler ¶
type WebSocketEventHandler struct { Debug bool // contains filtered or unexported fields }
Engine for controller
func (*WebSocketEventHandler) Call ¶
func (me *WebSocketEventHandler) Call(name string, event IWebSocketEvent)
func (*WebSocketEventHandler) Event ¶
func (me *WebSocketEventHandler) Event(name string, handler func(IWebSocketEvent))
type WebSocketRoute ¶
type WebSocketRoute struct { Path string Handlers func(IWebSocketEventHandler) // Service to inject CustomPayload IWebSocketBody // contains filtered or unexported fields }
func (*WebSocketRoute) Initialize ¶
func (wsr *WebSocketRoute) Initialize(server *gin.Engine, debug bool)
func (*WebSocketRoute) SetupHandler ¶
func (wsr *WebSocketRoute) SetupHandler()
type WebSocketServer ¶
type WebSocketServer struct { Port string Mode string Routes []IWebSocketRoute }
Serve information
func (*WebSocketServer) GetRoutes ¶
func (wss *WebSocketServer) GetRoutes() []IWebSocketRoute
Get Router
Source Files
¶
- environment.go
- grpc.client.go
- grpc.go
- grpc.server.go
- http.server.go
- identity.go
- mongo.go
- mongo.repository.go
- mysql.go
- mysql.repository.go
- rabbit.consumer.go
- rabbit.dsn.go
- rabbit.engine.go
- rabbit.event.go
- rabbit.message.go
- rabbit.publisher.go
- rabbitmq.go
- redis.go
- redis.repository.go
- response.go
- sqlite.client.go
- tcp.client.go
- tcp.go
- tcp.server.go
- websocket.engine.go
- websocket.event.go
- websocket.go
- websocket.message.go
- websocket.router.go