struct

FileAnalyzer::Hook

Inherits Struct < Value < Object

A file hook recognises an endpoint by matching a URL it found in the file against the user-supplied -u/--url. With no url that includes?(url) test degenerates to "matches everything", so with no url no hook may run.

tech is the technology the hook's endpoints are attributed to. Every hook has to name one: an endpoint that leaves the analysis phase with details.technology unset belongs to no group in any report and to no view in a cross-view tool, which is exactly what the GraphQL operation-document hook used to produce before it became the graphql_operation analyzer.

These names are deliberately not in NoirTechs::TECHS. A catalog entry has to be backed by a detector, and there is nothing to detect here — the hooks are activated by a flag, like ai is by --ai-provider, and they read every file in the scan rather than a recognisable one.

Constructors

new(func : Proc(String, String, Array(Endpoint)), tech : String)
Source

Instance methods

clone
Source
copy_with(func _func = @func, tech _tech = @tech)
Source
func
tech