Reorganize
This commit is contained in:
parent
d36131356d
commit
2f43c191cc
37
client.go
37
client.go
@ -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
37
gemini.go
Normal 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")
|
||||||
|
)
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user