Reorganize

This commit is contained in:
adnano 2020-09-25 19:09:49 -04:00
parent d36131356d
commit 2f43c191cc
4 changed files with 46 additions and 39 deletions

View File

@ -11,47 +11,10 @@ import (
"strconv" "strconv"
) )
// Status codes.
const (
StatusInput = 10
StatusSensitiveInput = 11
StatusSuccess = 20
StatusRedirectTemporary = 30
StatusRedirectPermanent = 31
StatusTemporaryFailure = 40
StatusServerUnavailable = 41
StatusCGIError = 42
StatusProxyError = 43
StatusSlowDown = 44
StatusPermanentFailure = 50
StatusNotFound = 51
StatusGone = 52
StatusProxyRequestRefused = 53
StatusBadRequest = 59
StatusClientCertificateRequired = 60
StatusCertificateNotAuthorised = 61
StatusCertificateNotValid = 62
)
// Status code categories.
const (
StatusClassInput = 1
StatusClassSuccess = 2
StatusClassRedirect = 3
StatusClassTemporaryFailure = 4
StatusClassPermanentFailure = 5
StatusClassClientCertificateRequired = 6
)
// Errors. // Errors.
var ( var (
ErrProtocol = errors.New("gemini: protocol error") ErrProtocol = errors.New("gemini: protocol error")
ErrInvalidURL = errors.New("gemini: requested URL is invalid") ErrInvalidURL = errors.New("gemini: requested URL is invalid")
ErrBodyNotAllowed = errors.New("gemini: response status code does not allow for body")
)
var (
crlf = []byte("\r\n")
) )
// Request is a Gemini request. // Request is a Gemini request.

37
gemini.go Normal file
View File

@ -0,0 +1,37 @@
package gemini
// Status codes.
const (
StatusInput = 10
StatusSensitiveInput = 11
StatusSuccess = 20
StatusRedirectTemporary = 30
StatusRedirectPermanent = 31
StatusTemporaryFailure = 40
StatusServerUnavailable = 41
StatusCGIError = 42
StatusProxyError = 43
StatusSlowDown = 44
StatusPermanentFailure = 50
StatusNotFound = 51
StatusGone = 52
StatusProxyRequestRefused = 53
StatusBadRequest = 59
StatusClientCertificateRequired = 60
StatusCertificateNotAuthorised = 61
StatusCertificateNotValid = 62
)
// Status code categories.
const (
StatusClassInput = 1
StatusClassSuccess = 2
StatusClassRedirect = 3
StatusClassTemporaryFailure = 4
StatusClassPermanentFailure = 5
StatusClassClientCertificateRequired = 6
)
var (
crlf = []byte("\r\n")
)

View File

@ -3,6 +3,7 @@ package gemini
import ( import (
"bufio" "bufio"
"crypto/tls" "crypto/tls"
"errors"
"log" "log"
"net" "net"
"net/url" "net/url"
@ -12,6 +13,11 @@ import (
"time" "time"
) )
// Errors.
var (
ErrBodyNotAllowed = errors.New("gemini: response status code does not allow for body")
)
// Server is a Gemini server. // Server is a Gemini server.
type Server struct { type Server struct {
// Addr specifies the address that the server should listen on. // Addr specifies the address that the server should listen on.

View File

@ -12,6 +12,7 @@ import (
"strings" "strings"
) )
// Errors.
var ( var (
ErrInvalidKnownHosts = errors.New("gemini: invalid known hosts") ErrInvalidKnownHosts = errors.New("gemini: invalid known hosts")
) )