[MIRROR: https://git.mills.io/prologic/go-gopher] Gopher (RFC 1436) protocol library for the Go (Golang) programming language supporting both client and server
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
dependabot-preview[bot] e7ec35345d
Upgrade to GitHub-native Dependabot (#18)
2 лет назад
.github Upgrade to GitHub-native Dependabot (#18) 2 лет назад
examples Added DependaBot config 4 лет назад
testdata Fix tests (#12) 3 лет назад
.gitignore Migrate to Drone CI 5 лет назад
LICENSE Added LICENSE 7 лет назад
Makefile Migrate to Drone CI 5 лет назад
README.md Fix client example (#13) 3 лет назад
_config.yml Set theme jekyll-theme-hacker 5 лет назад
go.mod Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#16) 3 лет назад
go.sum Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#16) 3 лет назад
gopher.go expose the response connection as an io.ReadCloser (like net/http does) (#15) 3 лет назад
gopher_test.go Fix tests (#12) 3 лет назад

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 github.com/prologic/go-gopher

Usage

import "github.com/prologic/go-gopher"

Example

Client

package main

import (
	"fmt"

	"github.com/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"

	"github.com/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