infra

package
v1.64.5 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2026 License: MIT Imports: 3 Imported by: 1

README

Package infra

Пакет infra предоставляет обертку над http-сервером из стандартной библиотеки net/http.

Types

Server

Структура-обертка http-сервера.

Methods:

NewServer() *Server

Создать экземпляр http-сервера.

(s *Server) Handle(pattern string, handler http.Handler)

Зарегистрировать обработчик.

(s *Server) HandleFunc(pattern string, handler http.HandlerFunc)

Зарегистрировать функцию-обработчик.

(s *Server) ListenAndServe(address string) error

Запустить http-сервер. Обрабатывает http.ErrServerClosed как нормальное завершение.

(s *Server) Shutdown() error

Остановить работу http-сервера.

Usage

Default usage flow
package main

import (
	"log"
	"net/http"

	"github.com/txix-open/isp-kit/infra"
	"github.com/txix-open/isp-kit/shutdown"
)

func main() {
	srv := infra.NewServer()
	srv.HandleFunc("/foo", func(w http.ResponseWriter, _ *http.Request) {
		w.WriteHeader(http.StatusOK)
	})

	shutdown.On(func() { /* waiting for SIGINT & SIGTERM signals */
		log.Println("shutting down...")
		srv.Shutdown()
		log.Println("shutdown completed")
	})

	err := srv.ListenAndServe(":8080")
	if err != nil {
		log.Fatal(err)
	}
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer() *Server

nolint:gosec

func (*Server) Handle

func (s *Server) Handle(pattern string, handler http.Handler)

func (*Server) HandleFunc

func (s *Server) HandleFunc(pattern string, handler http.HandlerFunc)

func (*Server) ListenAndServe

func (s *Server) ListenAndServe(address string) error

func (*Server) Shutdown

func (s *Server) Shutdown() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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