appfile

package
v1.27.0 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package appfile reads and writes encore.app files.

Index

Constants

View Source
const Name = "encore.app"

Name is the name of the Encore app file. It is expected to be located in the root of the Encore app (which is usually the Git repository root).

Variables

This section is empty.

Functions

func Experiments

func Experiments(appRoot string) ([]experiments.Name, error)

Experiments returns the experimental feature the app located at appRoot has opted into.

func Slug

func Slug(appRoot string) (string, error)

Slug parses the app slug for the encore.app file located at path. The slug can be empty if the app is not linked to encore.dev.

Types

type CORS

type CORS struct {
	// Debug enables CORS debug logging.
	Debug bool `json:"debug,omitempty"`

	// AllowHeaders allows an app to specify additional headers that should be
	// accepted by the app.
	//
	// If the list contains "*", then all headers are allowed.
	AllowHeaders []string `json:"allow_headers"`

	// ExposeHeaders allows an app to specify additional headers that should be
	// exposed from the app, beyond the default set always recognized by Encore.
	//
	// If the list contains "*", then all headers are exposed.
	ExposeHeaders []string `json:"expose_headers"`

	// AllowOriginsWithoutCredentials specifies the allowed origins for requests
	// that don't include credentials. If nil it defaults to allowing all domains
	// (equivalent to []string{"*"}).
	AllowOriginsWithoutCredentials []string `json:"allow_origins_without_credentials,omitempty"`

	// AllowOriginsWithCredentials specifies the allowed origins for requests
	// that include credentials. If a request is made from an Origin in this list
	// Encore responds with Access-Control-Allow-Origin: <Origin>.
	//
	// The URLs in this list may include wildcards (e.g. "https://*.example.com"
	// or "https://*-myapp.example.com").
	AllowOriginsWithCredentials []string `json:"allow_origins_with_credentials,omitempty"`
}

func GlobalCORS

func GlobalCORS(appRoot string) (*CORS, error)

GlobalCORS returns the global CORS settings for the app located

type File

type File struct {
	// ID is the encore.dev app id for the app.
	// It is empty if the app is not linked to encore.dev.
	ID string `json:"id"` // can be empty

	// Experiments is a list of values to enable experimental features in Encore.
	// These are not guaranteed to be stable in either runtime behaviour
	// or in API design.
	//
	// Do not use these features in production without consulting the Encore team.
	Experiments []experiments.Name `json:"experiments,omitempty"`

	// Configure global CORS settings for the application which
	// will be applied to all API gateways into the application.
	GlobalCORS *CORS `json:"global_cors,omitempty"`

	// CgoEnabled enables building with cgo.
	CgoEnabled bool `json:"cgo_enabled,omitempty"`

	// DockerBaseImage changes the docker base image used for building the application
	// in Encore's CI/CD system. If unspecified it defaults to "scratch".
	DockerBaseImage string `json:"docker_base_image,omitempty"`
}

File is a parsed encore.app file.

func Parse

func Parse(data []byte) (*File, error)

Parse parses the app file data into a File.

func ParseFile

func ParseFile(path string) (*File, error)

ParseFile parses the app file located at path.

Jump to

Keyboard shortcuts

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