1
0
Fork 0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-05-18 20:36:04 +02:00

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"
)
// 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.
var (
ErrProtocol = errors.New("gemini: protocol error")
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")
ErrProtocol = errors.New("gemini: protocol error")
ErrInvalidURL = errors.New("gemini: requested URL is invalid")
)
// 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 (
"bufio"
"crypto/tls"
"errors"
"log"
"net"
"net/url"
@ -12,6 +13,11 @@ import (
"time"
)
// Errors.
var (
ErrBodyNotAllowed = errors.New("gemini: response status code does not allow for body")
)
// Server is a Gemini server.
type Server struct {
// Addr specifies the address that the server should listen on.

View File

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