mirror of
https://github.com/datarhei/core.git
synced 2025-10-08 17:30:52 +08:00
Add GoSRT & improvements (repo-merge)
Commits (Ingo Oppermann): - Add experimental SRT connection stats and logs - Hide /config/reload endpoint in reade-only mode - Add SRT server - Create v16 in go.mod - Fix data races, tests, lint, and update dependencies - Add trailing slash for routed directories (datarhei/restreamer#340) - Allow relative URLs in content in static routes Co-Authored-By: Ingo Oppermann <57445+ioppermann@users.noreply.github.com>
This commit is contained in:
27
vendor/github.com/swaggo/swag/packages.go
generated
vendored
27
vendor/github.com/swaggo/swag/packages.go
generated
vendored
@@ -6,6 +6,7 @@ import (
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -78,6 +79,11 @@ func (pkgDefs *PackagesDefinitions) CollectAstFile(packageDir, path string, astF
|
||||
func rangeFiles(files map[*ast.File]*AstFileInfo, handle func(filename string, file *ast.File) error) error {
|
||||
sortedFiles := make([]*AstFileInfo, 0, len(files))
|
||||
for _, info := range files {
|
||||
// ignore package path prefix with 'vendor' or $GOROOT,
|
||||
// because the router info of api will not be included these files.
|
||||
if strings.HasPrefix(info.PackagePath, "vendor") || strings.HasPrefix(info.Path, runtime.GOROOT()) {
|
||||
continue
|
||||
}
|
||||
sortedFiles = append(sortedFiles, info)
|
||||
}
|
||||
|
||||
@@ -128,7 +134,8 @@ func (pkgDefs *PackagesDefinitions) parseTypesFromFile(astFile *ast.File, packag
|
||||
pkgDefs.uniqueDefinitions = make(map[string]*TypeSpecDef)
|
||||
}
|
||||
|
||||
fullName := typeSpecDef.FullName()
|
||||
fullName := typeSpecFullName(typeSpecDef)
|
||||
|
||||
anotherTypeDef, ok := pkgDefs.uniqueDefinitions[fullName]
|
||||
if ok {
|
||||
if typeSpecDef.PkgPath == anotherTypeDef.PkgPath {
|
||||
@@ -286,7 +293,7 @@ func (pkgDefs *PackagesDefinitions) FindTypeSpec(typeName string, file *ast.File
|
||||
return pkgDefs.uniqueDefinitions[typeName]
|
||||
}
|
||||
|
||||
parts := strings.Split(typeName, ".")
|
||||
parts := strings.Split(strings.Split(typeName, "[")[0], ".")
|
||||
if len(parts) > 1 {
|
||||
isAliasPkgName := func(file *ast.File, pkgName string) bool {
|
||||
if file != nil && file.Imports != nil {
|
||||
@@ -322,6 +329,22 @@ func (pkgDefs *PackagesDefinitions) FindTypeSpec(typeName string, file *ast.File
|
||||
}
|
||||
}
|
||||
|
||||
if strings.Contains(typeName, "[") {
|
||||
// joinedParts differs from typeName in that it does not contain any type parameters
|
||||
joinedParts := strings.Join(parts, ".")
|
||||
for tName, tSpec := range pkgDefs.uniqueDefinitions {
|
||||
if !strings.Contains(tName, "[") {
|
||||
continue
|
||||
}
|
||||
|
||||
if strings.Contains(tName, joinedParts) {
|
||||
if parametrized := pkgDefs.parametrizeStruct(tSpec, typeName); parametrized != nil {
|
||||
return parametrized
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pkgDefs.findTypeSpec(pkgPath, parts[1])
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user