@@ -9,24 +9,31 @@ import (
99)
1010
1111type PubliccodeymlValidatorHandler struct {
12- parser * publiccodeParser.Parser
12+ parser * publiccodeParser.Parser
13+ parserExternalChecks * publiccodeParser.Parser
1314}
1415
1516func NewPubliccodeymlValidatorHandler () * PubliccodeymlValidatorHandler {
16- parser , err := publiccodeParser .NewDefaultParser ( )
17+ parser , err := publiccodeParser .NewParser (publiccodeParser. ParserConfig { DisableExternalChecks : true } )
1718 if err != nil {
1819 panic ("can't create a publiccode.yml parser: " + err .Error ())
1920 }
2021
21- return & PubliccodeymlValidatorHandler {parser : parser }
22+ parserExternalChecks , err := publiccodeParser .NewDefaultParser ()
23+ if err != nil {
24+ panic ("can't create a publiccode.yml parser: " + err .Error ())
25+ }
26+
27+ return & PubliccodeymlValidatorHandler {parser : parser , parserExternalChecks : parserExternalChecks }
2228}
2329
2430func (vh * PubliccodeymlValidatorHandler ) Query (ctx * fiber.Ctx ) error {
2531 valid := true
32+ parser := vh .parser
2633
27- // if all := ctx.QueryBool("all ", false); !all {
28- // stmt = stmt.Scopes(models.Active)
29- // }
34+ if checks := ctx .QueryBool ("external-checks " , false ); checks {
35+ parser = vh . parserExternalChecks
36+ }
3037
3138 // ct := c.Get("Content-Type")
3239 // if !strings.Contains(ct, "yaml") && ct != "application/octet-stream" {
@@ -41,12 +48,11 @@ func (vh *PubliccodeymlValidatorHandler) Query(ctx *fiber.Ctx) error {
4148 })
4249 }
4350
44- reader := bytes .NewReader (ctx .Body ())
45-
4651 results := make (publiccodeParser.ValidationResults , 0 )
4752
48- // parsed, err = parser.Parse(repository.FileRawURL)
49- _ , err := vh .parser .ParseStream (reader )
53+ reader := bytes .NewReader (ctx .Body ())
54+
55+ _ , err := parser .ParseStream (reader )
5056 if err != nil {
5157 var validationResults publiccodeParser.ValidationResults
5258 if errors .As (err , & validationResults ) {
0 commit comments