httpd

package module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: BSD-3-Clause Imports: 18 Imported by: 0

README

go-whosonfirst-spelunker-httpd

Go package implementing an HTTP server for interacting with implementations of the whosonfirst/go-whosonfirst-spelunker.Spelunker interface.

Documentation

Documentation is incompete at this time. For starters consult the (also incomplete) documentation in the whosonfirst/go-whosonfirst-spelunker package.

Important

This is work in progress and you should expect things to change, break or simply not work yet.

See also

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultFilterParams

func DefaultFilterParams() []string

func FacetsFromRequest

func FacetsFromRequest(ctx context.Context, req *http.Request, params []string) ([]*spelunker.Facet, error)

func FeatureFromRequestURI

func FeatureFromRequestURI(ctx context.Context, sp spelunker.Spelunker, req_uri *URI) ([]byte, error)

func FiltersFromRequest

func FiltersFromRequest(ctx context.Context, req *http.Request, params []string) ([]spelunker.Filter, error)

func PaginationOptionsFromRequest

func PaginationOptionsFromRequest(req *go_http.Request) (pagination.Options, error)

func ParsePageNumberFromRequest

func ParsePageNumberFromRequest(req *go_http.Request) (int64, error)

func RecordFromRequestURI

func RecordFromRequestURI(ctx context.Context, sp spelunker.Spelunker, req_uri *URI) ([]byte, error)

func ReplaceAll

func ReplaceAll(input string, pattern string, value any) string

func SPRFromRequestURI

func SPRFromRequestURI(ctx context.Context, sp spelunker.Spelunker, req_uri *URI) (spr.StandardPlacesResult, error)

func URIForConcordanceNS

func URIForConcordanceNS(uri string, ns string, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForConcordanceNSPred

func URIForConcordanceNSPred(uri string, ns string, pred string, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForConcordanceTriple

func URIForConcordanceTriple(uri string, ns string, pred string, value any, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForId

func URIForId(uri string, id int64, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForIdSimple

func URIForIdSimple(uri string, id int64) string

func URIForNullIsland

func URIForNullIsland(uri string, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForPlacetype

func URIForPlacetype(uri string, pt string, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForRecent

func URIForRecent(uri string, d string, filters []spelunker.Filter, facets []spelunker.Facet) string

func URIForRecentSimple

func URIForRecentSimple(uri string, d string) string

func URIForSearch

func URIForSearch(uri string, query string, filters []spelunker.Filter, facets []spelunker.Facet) string

Types

type URI

type URI struct {
	Id          int64
	URI         string
	Feature     []byte
	URIArgs     *wof_uri.URIArgs
	IsAlternate bool
}

func ParseURIFromPath

func ParseURIFromPath(ctx context.Context, path string, r reader.Reader) (*URI, error, int)

func ParseURIFromRequest

func ParseURIFromRequest(req *go_http.Request, r reader.Reader) (*URI, error, int)

type URIs

type URIs struct {
	// WWW/human-readable
	Id                string   `json:"id"`
	IdAlt             []string `json:"id_alt"`
	Concordances      string   `json:"concordances"`
	ConcordanceNS     string   `json:"concordance_ns"`
	ConcordanceNSPred string   `json:"concordance_ns_pred"`
	ConcordanceTriple string   `json:"concordance_triple"`
	Descendants       string   `json:"descendants"`
	DescendantsAlt    []string `json:"descendants_alt"`
	Index             string   `json:"index"`
	Placetypes        string   `json:"placetypes"`
	Placetype         string   `json:"placetype"`
	NullIsland        string   `json:"nullisland"`
	Recent            string   `json:"recent"`
	RecentAlt         []string `json:"recent_alt"`
	Search            string   `json:"search"`
	About             string   `json:"about"`
	Code              string   `json:"code"`
	HowTo             string   `json:"how_to"`
	Tiles             string   `json:"tiles"`

	// Static assets
	Static string `json:"static"`

	// API/machine-readable
	ConcordanceNSFaceted     string   `json:"concordance_ns"`
	ConcordanceNSPredFaceted string   `json:"concordance_ns_pred"`
	ConcordanceTripleFaceted string   `json:"concordance_triple_faceted"`
	DescendantsFaceted       string   `json:"descendants_faceted"`
	FindingAid               string   `json:"finding_aid"`
	GeoJSON                  string   `json:"geojson"`
	GeoJSONAlt               []string `json:"geojson_alt"`
	GeoJSONLD                string   `json:"geojsonld"`
	GeoJSONLDAlt             []string `json:"geojsonld_alt"`
	NavPlace                 string   `json:"navplace"`
	NavPlaceAlt              []string `json:"navplace_alt"`
	NullIslandFaceted        string   `json:"nullisland_faceted"`
	PlacetypeFaceted         string   `json:"placetype_faceted"`
	RecentFaceted            string   `json:"recent_faceted"`
	SearchFaceted            string   `json:"search_faceted"`
	Select                   string   `json:"select"`
	SelectAlt                []string `json:"select_alt"`
	SPR                      string   `json:"spr"`
	SPRAlt                   []string `json:"spr_alt"`
	SVG                      string   `json:"svg"`
	SVGAlt                   []string `json:"svg_alt"`
}

func DefaultURIs

func DefaultURIs() *URIs

func (*URIs) ApplyPrefix

func (u *URIs) ApplyPrefix(prefix string) error

Directories

Path Synopsis
app
cmd
templates

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL