class

Analyzer::Go::Encore

Inherits Analyzer::Go::GoEngine < Analyzer::Go::GoTestPath < Analyzer < FileHelper < Reference < Object

Encore (https://encore.dev/docs/go/primitives/defining-apis) declares every endpoint with a //encore:api directive on its handler:

//encore:api public method=GET path=/users/:id func GetUser(ctx context.Context, id int, p *Params) (*User, error)

Path parameters bind to the handler's leading arguments in order; a further argument is the request struct, whose fields are header/query params by tag and otherwise query (GET/HEAD/DELETE) or JSON body.

Constants

QUERY_METHODS = ["GET", "HEAD", "DELETE"] of ::String
TAG_RE = /(\w+):"([^"]*)"/
TAGGER = "encore_analyzer"

Class methods

tech_name
Source

Instance methods

analyze
Source
tech

Instance-side view of the same declaration. The per-file rescues live on this base class, which has no way to name the analyzer that is running inside them, so a skipped file could not be attributed to a tech. Deriving it from analyzer_for keeps the name written exactly once.

Source