server

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: Apache-2.0 Imports: 12 Imported by: 6

README

Obvious Service Framework

Contributor Covenant License GitHub release

A simple library for quickly developing web services. Supports HTTP, HTTPS, AWS Gateway Lambda, and AWS Lambda.

The goal is simple, enable a development of Service APIs - not the scaffolding.

How to Use

go get github.com/go-obvious/server
Example Usage

Check out the github.com/go-obvious/server-example for an example...

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	Name() string
	Register(app Server) error
}

type Certificate

type Certificate struct {
	Cert string `envconfig:"CERTIFICATE_CERT" default:""`
	Key  string `envconfig:"CERTIFICATE_KEY" default:""`
}

type Config

type Config struct {
	Mode   string `envconfig:"SERVICE_MODE" default:"http"`
	Domain string `envconfig:"SERVICE_DOMAIN" default:""`
	Port   uint   `envconfig:"SERVICE_PORT" default:"4444"`
	*Certificate
}

type Server

type Server interface {
	Config() interface{}
	Router() interface{}
	Run(ctx context.Context)
	Shutdown()
}

func New

func New(
	cfg *Config,
	version *ServerVersion,
	apis ...API,
) Server

type ServerVersion

type ServerVersion = about.ServerVersion

Jump to

Keyboard shortcuts

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