config

package
v0.10.4 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package config loads and understands the tegola config format.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// the tile buffer to use
	TileBuffer *env.Int `toml:"tile_buffer"`
	// LocationName is the file name or http server that the config was read from.
	// If this is an empty string, it means that the location was unknown. This is the case if
	// the Parse() function is used directly.
	LocationName string
	Webserver    Webserver `toml:"webserver"`
	Cache        env.Dict  `toml:"cache"`
	// Map of providers.
	Providers []env.Dict
	Maps      []Map
}

Config represents a tegola config file.

func Load

func Load(location string) (conf Config, err error)

Load will load and parse the config file from the given location.

func LoadAndValidate added in v0.6.0

func LoadAndValidate(filename string) (cfg Config, err error)

func Parse

func Parse(reader io.Reader, location string) (conf Config, err error)

Parse will parse the Tegola config file provided by the io.Reader.

func (*Config) ConfigureTileBuffers added in v0.9.0

func (c *Config) ConfigureTileBuffers()

ConfigTileBuffers handles setting the tile buffer for a Map

func (*Config) Validate

func (c *Config) Validate() error

checks the config for issues

type ErrInvalidHeader added in v0.8.0

type ErrInvalidHeader struct {
	Header string
}

func (ErrInvalidHeader) Error added in v0.8.0

func (e ErrInvalidHeader) Error() string

type ErrInvalidLayerZoom added in v0.7.0

type ErrInvalidLayerZoom struct {
	ProviderLayer string
	MinZoom       bool
	Zoom          int
	ZoomLimit     int
}

func (ErrInvalidLayerZoom) Error added in v0.7.0

func (e ErrInvalidLayerZoom) Error() string

type ErrInvalidProviderLayerName

type ErrInvalidProviderLayerName struct {
	ProviderLayerName string
}

func (ErrInvalidProviderLayerName) Error

type ErrInvalidURIPrefix added in v0.10.0

type ErrInvalidURIPrefix string

func (ErrInvalidURIPrefix) Error added in v0.10.0

func (e ErrInvalidURIPrefix) Error() string

type ErrMapNotFound

type ErrMapNotFound struct {
	MapName string
}

func (ErrMapNotFound) Error

func (e ErrMapNotFound) Error() string

type ErrMissingEnvVar added in v0.6.0

type ErrMissingEnvVar struct {
	EnvVar string
}

func (ErrMissingEnvVar) Error added in v0.6.0

func (e ErrMissingEnvVar) Error() string

type ErrOverlappingLayerZooms

type ErrOverlappingLayerZooms struct {
	ProviderLayer1 string
	ProviderLayer2 string
}

func (ErrOverlappingLayerZooms) Error

func (e ErrOverlappingLayerZooms) Error() string

type Map

type Map struct {
	Name        env.String   `toml:"name"`
	Attribution env.String   `toml:"attribution"`
	Bounds      []env.Float  `toml:"bounds"`
	Center      [3]env.Float `toml:"center"`
	Layers      []MapLayer   `toml:"layers"`
	TileBuffer  *env.Int     `toml:"tile_buffer"`
}

A Map represents a map in the Tegola Config file.

type MapLayer

type MapLayer struct {
	// Name is optional. If it's not defined the name of the ProviderLayer will be used.
	// Name can also be used to group multiple ProviderLayers under the same namespace.
	Name          env.String  `toml:"name"`
	ProviderLayer env.String  `toml:"provider_layer"`
	MinZoom       *env.Uint   `toml:"min_zoom"`
	MaxZoom       *env.Uint   `toml:"max_zoom"`
	DefaultTags   interface{} `toml:"default_tags"`
	// DontSimplify indicates wheather feature simplification should be applied.
	// We use a negative in the name so the default is to simplify
	DontSimplify env.Bool `toml:"dont_simplify"`
	// DontClip indicates wheather feature clipping should be applied.
	// We use a negative in the name so the default is to clipping
	DontClip env.Bool `toml:"dont_clip"`
}

func (MapLayer) GetName added in v0.7.0

func (ml MapLayer) GetName() (string, error)

GetName helper to get the name we care about.

type Webserver

type Webserver struct {
	HostName  env.String `toml:"hostname"`
	Port      env.String `toml:"port"`
	URIPrefix env.String `toml:"uri_prefix"`
	Headers   env.Dict   `toml:"headers"`
}

Jump to

Keyboard shortcuts

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