[MIRROR: https://git.mills.io/prologic/go-gopher] Gopher (RFC 1436) protocol library for the Go (Golang) programming language supporting both client and server
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
James Mills 54a3d14449
Fix tests and add Drone CI config
2 år sedan
.github Upgrade to GitHub-native Dependabot (#18) 2 år sedan
examples Remove some large files 2 år sedan
testdata Fix tests (#12) 3 år sedan
.drone.yml Fix tests and add Drone CI config 2 år sedan
.gitignore Remove some large files 2 år sedan
LICENSE Added LICENSE 7 år sedan
Makefile Migrate to Drone CI 5 år sedan
README.md Fix tests and add Drone CI config 2 år sedan
_config.yml Set theme jekyll-theme-hacker 5 år sedan
go.mod Fix tests and add Drone CI config 2 år sedan
go.sum Fix tests and add Drone CI config 2 år sedan
gopher.go Fix tests and add Drone CI config 2 år sedan
gopher_test.go Fix tests and add Drone CI config 2 år sedan

README.md

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 git.mills.io/prologic/go-gopher

Usage

import "git.mills.io/prologic/go-gopher"

Example

Client

package main

import (
	"fmt"

	"git.mills.io/prologic/go-gopher"
)

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

Server

package main

import (
	"log"

	"git.mills.io/prologic/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