[MIRROR: https://git.mills.io/prologic/go-gopher] Gopher (RFC 1436) protocol library for the Go (Golang) programming language supporting both client and server
Go to file
2022-04-29 13:08:30 -04:00
.github Upgrade to GitHub-native Dependabot (#18) 2021-06-26 10:43:51 +10:00
examples Remove some large files 2021-07-23 15:46:59 +10:00
testdata Fix tests (#12) 2020-07-21 12:07:12 +10:00
_config.yml Set theme jekyll-theme-hacker 2018-12-30 23:35:52 +10:00
.drone.yml Fix Drone CI triggers 2022-04-01 00:03:45 +10:00
.gitignore Remove some large files 2021-07-23 15:46:59 +10:00
go.mod Change path to code.as/writefreely/go-gopher 2022-04-29 13:08:30 -04:00
go.sum Fix tests and add Drone CI config 2022-04-01 00:02:21 +10:00
gopher_test.go Change path to code.as/writefreely/go-gopher 2022-04-29 13:08:30 -04:00
gopher.go Fix tests and add Drone CI config 2022-04-01 00:02:21 +10:00
LICENSE Added LICENSE 2016-09-14 23:16:43 +10:00
Makefile Migrate to Drone CI 2018-12-30 23:29:30 +10:00
README.md Change path to code.as/writefreely/go-gopher 2022-04-29 13:08:30 -04:00

Gopher protocol library for Golang

Build Status

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 code.as/writefreely/go-gopher

Usage

import "code.as/writefreely/go-gopher"

Example

Client

package main

import (
	"fmt"

	"code.as/writefreely/go-gopher"
)

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

Server

package main

import (
	"log"

	"code.as/writefreely/go-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 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