aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradnano <[email protected]>2020-09-25 19:09:49 -0400
committeradnano <[email protected]>2020-09-25 19:09:49 -0400
commit2f43c191cc7e0f07ef9cbc243e6a073793f3dddb (patch)
tree91d911456644b01d89bb991b56af38a75454a2f8
parentRename gemini.go to client.go (diff)
downloadgo-gemini-2f43c191cc7e0f07ef9cbc243e6a073793f3dddb.tar.xz
go-gemini-2f43c191cc7e0f07ef9cbc243e6a073793f3dddb.zip
Reorganize
-rw-r--r--client.go41
-rw-r--r--gemini.go37
-rw-r--r--server.go6
-rw-r--r--tofu.go1
4 files changed, 46 insertions, 39 deletions
diff --git a/client.go b/client.go
index 941969d..d12f51c 100644
--- a/client.go
+++ b/client.go
@@ -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.
diff --git a/gemini.go b/gemini.go
new file mode 100644
index 0000000..ccdb5df
--- /dev/null
+++ b/gemini.go
@@ -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")
+)
diff --git a/server.go b/server.go
index cb3782a..5eb685d 100644
--- a/server.go
+++ b/server.go
@@ -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.
diff --git a/tofu.go b/tofu.go
index e4ff39f..a40ae38 100644
--- a/tofu.go
+++ b/tofu.go
@@ -12,6 +12,7 @@ import (
"strings"
)
+// Errors.
var (
ErrInvalidKnownHosts = errors.New("gemini: invalid known hosts")
)