fix tests
This commit is contained in:
parent
cde46077a1
commit
2bdce02090
5
go.mod
5
go.mod
|
@ -1,8 +1,7 @@
|
||||||
module github.com/prologic/go-gopher
|
module within.website/gopher
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
||||||
github.com/stretchr/testify v1.2.2
|
github.com/stretchr/testify v1.2.2
|
||||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3
|
golang.org/x/net v0.0.0-20181220203305-927f97764cc3
|
||||||
within.website/ln v0.6.0
|
within.website/ln v0.6.0
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -4,6 +4,8 @@ github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
|
||||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0 h1:10LO/S8HVjIuEHsHea//Cena1Ztgy23f/e8HFC0w5ow=
|
||||||
|
github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0/go.mod h1:LiuwIXz4es4YIUOD6yRv8mES9n9dFbe4z0+TcrLkhXg=
|
||||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
|
31
gopher.go
31
gopher.go
|
@ -209,6 +209,25 @@ func ParseItem(line string) (item *Item, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MarshalJSON serializes an Item into a JSON structure
|
||||||
|
func (i Item) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
Selector string `json:"selector"`
|
||||||
|
Host string `json:"host"`
|
||||||
|
Port int `json:"port"`
|
||||||
|
Extras []string `json:"extras"`
|
||||||
|
}{
|
||||||
|
Type: string(i.Type),
|
||||||
|
Description: i.Description,
|
||||||
|
Selector: i.Selector,
|
||||||
|
Host: i.Host,
|
||||||
|
Port: i.Port,
|
||||||
|
Extras: i.Extras,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// MarshalText serializes an Item into an array of bytes
|
// MarshalText serializes an Item into an array of bytes
|
||||||
func (i Item) MarshalText() ([]byte, error) {
|
func (i Item) MarshalText() ([]byte, error) {
|
||||||
b := []byte{}
|
b := []byte{}
|
||||||
|
@ -1004,7 +1023,7 @@ type ResponseWriter interface {
|
||||||
WriteInfo(msg string) error
|
WriteInfo(msg string) error
|
||||||
|
|
||||||
// WriteItem writes an item
|
// WriteItem writes an item
|
||||||
WriteItem(i *Item) error
|
WriteItem(i Item) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// A response represents the server side of a Gopher response.
|
// A response represents the server side of a Gopher response.
|
||||||
|
@ -1044,7 +1063,7 @@ func (w *response) WriteError(err string) error {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
i := &Item{
|
i := Item{
|
||||||
Type: ERROR,
|
Type: ERROR,
|
||||||
Description: err,
|
Description: err,
|
||||||
Host: "error.host",
|
Host: "error.host",
|
||||||
|
@ -1064,7 +1083,7 @@ func (w *response) WriteInfo(msg string) error {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
i := &Item{
|
i := Item{
|
||||||
Type: INFO,
|
Type: INFO,
|
||||||
Description: msg,
|
Description: msg,
|
||||||
Host: "error.host",
|
Host: "error.host",
|
||||||
|
@ -1074,7 +1093,7 @@ func (w *response) WriteInfo(msg string) error {
|
||||||
return w.WriteItem(i)
|
return w.WriteItem(i)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *response) WriteItem(i *Item) error {
|
func (w *response) WriteItem(i Item) error {
|
||||||
if w.rt == 0 {
|
if w.rt == 0 {
|
||||||
w.rt = 2
|
w.rt = 2
|
||||||
}
|
}
|
||||||
|
@ -1247,7 +1266,7 @@ func dirList(w ResponseWriter, r *Request, f File, fs FileSystem) {
|
||||||
Error(w, "Error reading directory")
|
Error(w, "Error reading directory")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
w.WriteItem(&Item{
|
w.WriteItem(Item{
|
||||||
Type: DIRECTORY,
|
Type: DIRECTORY,
|
||||||
Description: file.Name(),
|
Description: file.Name(),
|
||||||
Selector: pathname,
|
Selector: pathname,
|
||||||
|
@ -1266,7 +1285,7 @@ func dirList(w ResponseWriter, r *Request, f File, fs FileSystem) {
|
||||||
|
|
||||||
itemtype := GetItemType(path.Join(fullpath, file.Name()))
|
itemtype := GetItemType(path.Join(fullpath, file.Name()))
|
||||||
|
|
||||||
w.WriteItem(&Item{
|
w.WriteItem(Item{
|
||||||
Type: itemtype,
|
Type: itemtype,
|
||||||
Description: file.Name(),
|
Description: file.Name(),
|
||||||
Selector: pathname,
|
Selector: pathname,
|
||||||
|
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/prologic/go-gopher"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"within.website/gopher"
|
||||||
)
|
)
|
||||||
|
|
||||||
func hello(w gopher.ResponseWriter, r *gopher.Request) {
|
func hello(w gopher.ResponseWriter, r *gopher.Request) {
|
||||||
|
|
Loading…
Reference in New Issue