[MIRROR: https://git.mills.io/prologic/go-gopher] Gopher (RFC 1436) protocol library for the Go (Golang) programming language supporting both client and server
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
dependabot-preview[bot] e7ec35345d
Upgrade to GitHub-native Dependabot (#18)
pirms 2 gadiem
.github Upgrade to GitHub-native Dependabot (#18) pirms 2 gadiem
examples Added DependaBot config pirms 4 gadiem
testdata Fix tests (#12) pirms 3 gadiem
.gitignore Migrate to Drone CI pirms 5 gadiem
LICENSE Added LICENSE pirms 7 gadiem
Makefile Migrate to Drone CI pirms 5 gadiem
README.md Fix client example (#13) pirms 3 gadiem
_config.yml Set theme jekyll-theme-hacker pirms 5 gadiem
go.mod Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#16) pirms 3 gadiem
go.sum Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#16) pirms 3 gadiem
gopher.go expose the response connection as an io.ReadCloser (like net/http does) (#15) pirms 3 gadiem
gopher_test.go Fix tests (#12) pirms 3 gadiem

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