mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package nginx
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/tufanbarisyildirim/gonginx/config"
|
|
"github.com/tufanbarisyildirim/gonginx/parser"
|
|
)
|
|
|
|
func TestNgxConfParse(t *testing.T) {
|
|
p, err := parser.NewParser("conf/nextcloud_ngx.conf")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
n, _ := p.Parse()
|
|
|
|
fn(n.Block, 0)
|
|
|
|
c, err := ParseNgxConfig("conf/nextcloud_ngx.conf")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Println(c)
|
|
c, err = ParseNgxConfig("conf/test.conf")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Println(c)
|
|
}
|
|
|
|
func fn(block config.IBlock, deep int) {
|
|
if block == nil {
|
|
return
|
|
}
|
|
for _, v := range block.GetDirectives() {
|
|
if len(v.GetComment()) > 0 {
|
|
for _, c := range v.GetComment() {
|
|
fmt.Println(strings.Repeat("\t", deep), c)
|
|
}
|
|
}
|
|
|
|
// 将 []config.Parameter 转换为 []string
|
|
params := make([]string, len(v.GetParameters()))
|
|
for i, p := range v.GetParameters() {
|
|
params[i] = p.String()
|
|
}
|
|
fmt.Printf("%s%s %s\n", strings.Repeat("\t", deep), v.GetName(), strings.Join(params, " "))
|
|
fn(v.GetBlock(), deep+1)
|
|
}
|
|
}
|