server

package
v0.0.0-...-3014034 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Copyright 2021 Wei (Sam) Wang <sam.wang.0723@gmail.com>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Serve

func Serve(cfg *config.Config, logger *zerolog.Logger)

Types

type IServer

type IServer interface {
	Name() string
	Logger() *zerolog.Logger
	Handler() handlers.IHandler
	Config() *config.Config
	GRPCServer() *grpc.Server
	Run(context.Context) error
	Start(context.Context) error
	Stop() error
}

type Option

type Option func(o *Options)

func AfterStart

func AfterStart(fn func(ctx context.Context) error) Option

func BeforeStart

func BeforeStart(fn func(ctx context.Context) error) Option

func BeforeStop

func BeforeStop(fn func(ctx context.Context) error) Option

func Config

func Config(cfg *config.Config) Option

func GRPCServer

func GRPCServer(gRPCServer *grpc.Server) Option

func Handler

func Handler(handler handlers.IHandler) Option

func HealthCheck

func HealthCheck(healthCheck healthcheck.Handler) Option

func Logger

func Logger(logger *zerolog.Logger) Option

func Name

func Name(name string) Option

type Options

type Options struct {
	Name    string
	Logger  *zerolog.Logger
	Handler handlers.IHandler

	Config      *config.Config
	GRPCServer  *grpc.Server
	HealthCheck healthcheck.Handler

	// Before funcs
	BeforeStart []func(ctx context.Context) error
	AfterStart  []func(ctx context.Context) error
	BeforeStop  []func(ctx context.Context) error

	ProfilingEnabled bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL