Documentation

Overview

Package vanity implements custom import paths (Go vanity URLs) as an HTTP handler that can be installed at the vanity URL.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GitHubHandler

func GitHubHandler(importPath, user, repo, gitScheme string) http.Handler

Creates a Handler that serves a GitHub repository at a specific importPath.

func GogsHandler

func GogsHandler(importPath, host, user, repo, gitScheme string) http.Handler

Creates a Handler that serves a repository hosted with Gogs at host at a specific importPath.

func Handler

func Handler(opts ...Option) http.Handler

Handler returns an http.Handler that serves the vanity URL information for a single repository. Each Option gives additional information to agents about the repository or provides help to browsers that may have navigated to the vanity URL. The WithImport Option is mandatory since the go tool requires it to fetch the repository.

func MakeHandler

func MakeHandler(opts ...Option) http.Handler

MakeHandler creates a handler with custom options.

Types

type Option

type Option func(*config)

Configures the Handler. The only required option is WithImport.

func WithGitHubStyleSource

func WithGitHubStyleSource(importPath, repoPath, ref string) Option

Redirects gddo to browsable source files for GitHub hosted repositories.

func WithGoModProxy

func WithGoModProxy(importPath, proxyServer string) Option

WithGoModProxy adds a go module proxy to the option chain.

func WithGogsStyleSource

func WithGogsStyleSource(importPath, repoPath, ref string) Option

Redirects gddo to browsable source files for Gogs hosted repositories.

func WithImport

func WithImport(importPath, vcs, vcsRoot string) Option

Instructs the go tool where to fetch the repo at vcsRoot and the importPath that tree should be rooted at.

func WithRedirector

func WithRedirector(redir Redirector) Option

WithRedirector loads a redirector instance into the config.

func WithSource

func WithSource(prefix, home, directory, file string) Option

Instructs gddo (godoc.org) how to direct browsers to browsable source code for packages and their contents rooted at prefix.

home specifies the home page of prefix, directory gives a format for how to browse a directory, and file gives a format for how to view a file and go to specific lines within it.

More information can be found at https://github.com/golang/gddo/wiki/Source-Code-Links.

type Redirector

type Redirector func(pkg string) (url string)

When a browser navigates to the vanity URL of pkg, this function rewrites pkg to a browsable URL.

Source Files