No Description

Christine Dodrill 2bdce02090 fix tests 6 months ago
examples cde46077a1 use within.website 6 months ago
testdata d2505639b3 Migrate to Drone CI 11 months ago
.drone.yml d2505639b3 Migrate to Drone CI 11 months ago
.gitignore d2505639b3 Migrate to Drone CI 11 months ago
LICENSE 8e4cb6a448 Added LICENSE 3 years ago
Makefile d2505639b3 Migrate to Drone CI 11 months ago
README.md cde46077a1 use within.website 6 months ago
go.mod 2bdce02090 fix tests 6 months ago
go.sum 2bdce02090 fix tests 6 months ago
gopher.go 2bdce02090 fix tests 6 months ago
gopher_test.go 2bdce02090 fix tests 6 months ago

README.md

Gopher protocol library for Golang

Build Status CodeCov Go Report Card GoDoc Sourcegraph

This is a standards compliant Gopher library for the Go programming language implementing the RFC 1436 specification. The library includes both client and server handling and examples of each.

Installation

$ go get within.website/gopher

Usage

import "within.website/gopher"

Example

Client

package main

import (
	"fmt"

	"within.website/gopher"
)

func main() {
	res, _ := gopher.Get("gopher://gopher.floodgap.com/")
	bytes, _ = res.Dir.ToText()
	fmt.Println(string(bytes))
}

Server

package main

import (
	"log"

	"within.website/gopher"
)

func hello(w gopher.ResponseWriter, r *gopher.Request) {
	w.WriteInfo("Hello World!")
}

func main() {
	gopher.HandleFunc("/hello", hello)
	log.Fatal(gopher.ListenAndServe("localhost:70", nil))
}

Related

Related projects:

  • gopherproxy gopherproxy is Gopher to HTTP proxy that uses go-gopher for all of its core functionality.

  • gopherclient gopherclient is a cross-platform QT/QML GUI Gopher Client using the gopherproxy library as its backend.

License

MIT