Versions in this module Expand all Collapse all v1 v1.0.2 Jul 12, 2021 Changes in this version + const IndexFile + const MimeType + const StatusBadRequest + const StatusCertificateNotAuthorized + const StatusCertificateNotValid + const StatusCgiError + const StatusClientCertificateRequired + const StatusGone + const StatusInput + const StatusNotFound + const StatusPermanentFailure + const StatusProxyError + const StatusProxyRequestRefused + const StatusRedirectPermanent + const StatusRedirectTemporary + const StatusSensitiveInput + const StatusServerUnavailable + const StatusSlowDown + const StatusSuccess + const StatusTemporaryFailure + const Termination + const URLMaxBytes + var ErrEmptyRequest = errors.New("gemini: empty request") + var ErrEmptyRequestURL = errors.New("gemini: empty request URL") + var ErrHeaderTooLong = errors.New("gemini: header too long") + var ErrInvalidHost = errors.New("gemini: empty host") + var ErrInvalidPath = errors.New("gemini: path error") + var ErrInvalidUtf8 = errors.New("gemini: empty request URL") + var ErrMissingFile = errors.New("gemini: no such file") + var ErrServerClosed = errors.New("gemini: server closed") + var ErrUnknownProtocol = fmt.Errorf("gemini: unknown protocol scheme") + func Error(code int, err error) error + func GenX509KeyPair(host string, daysvalid int) (tls.Certificate, error) + func TLSConfig(sni string, cert tls.Certificate) *tls.Config + type GmiError struct + Code int + func (e *GmiError) Error() string + func (e *GmiError) Unwrap() error + type Handler interface + ServeGemini func(ResponseWriter, *Request) + type HandlerFunc func(ResponseWriter, *Request) + func (f HandlerFunc) ServeGemini(w ResponseWriter, r *Request) + type Interceptor struct + Body bytes.Buffer + Code int + Meta string + func NewInterceptor(responseWriter ResponseWriter) (m *Interceptor) + func (m *Interceptor) Flush() + func (m *Interceptor) FlushBody() + func (m *Interceptor) FlushHeader() + func (m *Interceptor) HasBody() bool + func (m *Interceptor) HasHeader() bool + func (m *Interceptor) Write(body []byte) (int, error) + func (m *Interceptor) WriteHeader(code int, message string) (int, error) + type Middleware func(Handler) Handler + type Mux struct + func NewMux() *Mux + func (m *Mux) Handle(endpoint Handler) Handler + func (m *Mux) ServeGemini(w ResponseWriter, r *Request) + func (m *Mux) Use(handlers ...Middleware) + type Request struct + RemoteAddr string + RequestURI string + URL *url.URL + type ResponseWriter interface + Write func(body []byte) (int, error) + WriteHeader func(code int, message string) (int, error) + type Server struct + Addr string + Handler Handler + Hostname string + Logger *log.Logger + MaxOpenConns int + ReadTimeout time.Duration + TLSConfig *tls.Config + TLSConfigLoader func() (*tls.Config, error) + func (s *Server) ListenAndServe() error + func (s *Server) Shutdown(ctx context.Context) error v1.0.1 Jul 10, 2021 v1.0.0 Jul 10, 2021