Documentation

Overview

    Package dl implements a simple downloads frontend server.

    It accepts HTTP POST requests to create a new download metadata entity, and lists entities with sorting and filtering. It is designed to run only on the instance of godoc that serves golang.org.

    The package also serves the list of downloads and individual files at:

    https://golang.org/dl/
    https://golang.org/dl/{file}
    

    An optional query param, mode=json, serves the list of stable release downloads in JSON format:

    https://golang.org/dl/?mode=json
    

    An additional query param, include=all, when used with the mode=json query param, will serve a full list of available downloads, including stable, unstable, and archived releases in JSON format:

    https://golang.org/dl/?mode=json&include=all
    

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func RegisterHandlers

    func RegisterHandlers(mux *http.ServeMux, dc *datastore.Client, mc *memcache.Client)

    Types

    type Feature

    type Feature struct {
    	// The File field will be filled in by the first stable File
    	// whose name matches the given fileRE.
    	File
    
    	Platform     string // "Microsoft Windows", "Apple macOS", "Linux"
    	Requirements string // "Windows XP and above, 64-bit Intel Processor"
    	// contains filtered or unexported fields
    }

    type File

    type File struct {
    	Filename       string    `json:"filename"`
    	OS             string    `json:"os"`
    	Arch           string    `json:"arch"`
    	Version        string    `json:"version"`
    	Checksum       string    `json:"-" datastore:",noindex"` // SHA1; deprecated
    	ChecksumSHA256 string    `json:"sha256" datastore:",noindex"`
    	Size           int64     `json:"size" datastore:",noindex"`
    	Kind           string    `json:"kind"` // "archive", "installer", "source"
    	Uploaded       time.Time `json:"-"`
    }

      File represents a file on the golang.org downloads page. It should be kept in sync with the upload code in x/build/cmd/release.

      func (File) ChecksumType

      func (f File) ChecksumType() string

      func (File) Highlight

      func (f File) Highlight() bool

      func (File) PrettyChecksum

      func (f File) PrettyChecksum() string

      func (File) PrettyOS

      func (f File) PrettyOS() string

      func (File) PrettySize

      func (f File) PrettySize() string

      func (File) PrimaryPort

      func (f File) PrimaryPort() bool

      func (File) URL

      func (f File) URL() string

        URL returns the canonical URL of the file.

        type Release

        type Release struct {
        	Version        string `json:"version"`
        	Stable         bool   `json:"stable"`
        	Files          []File `json:"files"`
        	Visible        bool   `json:"-"` // show files on page load
        	SplitPortTable bool   `json:"-"` // whether files should be split by primary/other ports.
        }