func newMetaParser(swspec *spec.Swagger) *sectionedParser { sp := new(sectionedParser) if swspec.Info == nil { swspec.Info = new(spec.Info) } info := swspec.Info sp.setTitle = func(lines []string) { tosave := joinDropLast(lines) if len(tosave) > 0 { tosave = rxStripTitleComments.ReplaceAllString(tosave, "") } info.Title = tosave } sp.setDescription = func(lines []string) { info.Description = joinDropLast(lines) } sp.taggers = []tagParser{ newMultiLineTagParser("TOS", newMultilineDropEmptyParser(rxTOS, metaTOSSetter(info))), newMultiLineTagParser("Consumes", newMultilineDropEmptyParser(rxConsumes, metaConsumesSetter(swspec))), newMultiLineTagParser("Produces", newMultilineDropEmptyParser(rxProduces, metaProducesSetter(swspec))), newSingleLineTagParser("Schemes", newSetSchemes(metaSchemeSetter(swspec))), newSingleLineTagParser("Version", &setMetaSingle{swspec, rxVersion, setInfoVersion}), newSingleLineTagParser("Host", &setMetaSingle{swspec, rxHost, setSwaggerHost}), newSingleLineTagParser("BasePath", &setMetaSingle{swspec, rxBasePath, setSwaggerBasePath}), newSingleLineTagParser("Contact", &setMetaSingle{swspec, rxContact, setInfoContact}), newSingleLineTagParser("License", &setMetaSingle{swspec, rxLicense, setInfoLicense}), } return sp }
func safeInfo(swspec *spec.Swagger) *spec.Info { if swspec.Info == nil { swspec.Info = new(spec.Info) } return swspec.Info }