gemini

package module
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2026 License: ISC Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const MaxURI = 1024

Variables

View Source
var StatusMessages = map[Status]string{
	StatusExpectInput:             "input expected",
	StatusExpectSensitive:         "sensitive input expected",
	StatusOk:                      "success",
	StatusTemporaryRedirect:       "temporary redirection",
	StatusPermanentRedirect:       "permanent redirection",
	StatusTemporaryFailure:        "temporary failure",
	StatusServerUnavailable:       "server unavailable",
	StatusCGIError:                "CGI error",
	StatusProxyError:              "proxy error",
	StatusSlowDown:                "slow down",
	StatusPermanentFailure:        "permanent failure",
	StatusNotFound:                "not found",
	StatusGone:                    "gone",
	StatusProxyRequestRefused:     "proxy request refused",
	StatusBadRequest:              "bad request",
	StatusExpectCertificate:       "certificate required",
	StatusCertificateUnauthorized: "certificate not authorized",
	StatusCertificateInavild:      "certificate not valid",
}

Functions

func ListenAndServe

func ListenAndServe(addr, keysPref string, srv *Server) error

func Parse

func Parse(r io.Reader) (*url.URL, error)

func Serve

func Serve(conn *tls.Conn, handler func(*Response, *Request))

Types

type Request

type Request struct {
	url.URL
	Certificates []*x509.Certificate
}

func (*Request) Certificate

func (r *Request) Certificate() *x509.Certificate

type Response

type Response struct {
	Status  Status
	Message string
	Body    bytes.Buffer
}

func (*Response) Defaults added in v0.0.2

func (r *Response) Defaults(urlpath string) bool

func (*Response) Fail added in v0.0.2

func (r *Response) Fail(s Status)

func (*Response) Prompt

func (r *Response) Prompt(prompt string)

func (*Response) Redirect

func (r *Response) Redirect(uri string)

func (*Response) Succeed

func (r *Response) Succeed(mtyp string)

func (*Response) Write

func (r *Response) Write(p []byte) (int, error)

func (*Response) WriteTo

func (r *Response) WriteTo(w io.Writer) (int, error)

type Server

type Server struct {
	Deadline time.Duration
	MaxConns int
	// contains filtered or unexported fields
}

func (*Server) Handle

func (s *Server) Handle(p string, h func(*Response, *Request))

func (*Server) Handler

func (s *Server) Handler(w *Response, r *Request)

func (*Server) Lock

func (s *Server) Lock() bool

func (*Server) Unlock

func (s *Server) Unlock()

type Status

type Status int
const (
	StatusExpectInput             Status = 10
	StatusExpectSensitive         Status = 11
	StatusOk                      Status = 20
	StatusTemporaryRedirect       Status = 30
	StatusPermanentRedirect       Status = 31
	StatusTemporaryFailure        Status = 40
	StatusServerUnavailable       Status = 41
	StatusCGIError                Status = 42
	StatusProxyError              Status = 43
	StatusSlowDown                Status = 44
	StatusPermanentFailure        Status = 50
	StatusNotFound                Status = 51
	StatusGone                    Status = 52
	StatusProxyRequestRefused     Status = 53
	StatusBadRequest              Status = 59
	StatusExpectCertificate       Status = 60
	StatusCertificateUnauthorized Status = 61
	StatusCertificateInavild      Status = 62
)
const (
	StatusInput    Status = 10
	StatusSuccess  Status = 20
	StatusRedirect Status = 30
	StatusTempfail Status = 40
	StatusPermfail Status = 50
	StatusAuth     Status = 60
)

func (Status) Group

func (s Status) Group() Status

func (Status) IsValid

func (s Status) IsValid() bool

func (Status) String

func (s Status) String() string

Jump to

Keyboard shortcuts

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