Browse Source

fix: Problem with block directives #77

0xJacky 2 years ago
parent
commit
6b9ebbfcc6
1 changed files with 8 additions and 2 deletions
  1. 8 2
      server/pkg/nginx/parse.go

+ 8 - 2
server/pkg/nginx/parse.go

@@ -53,8 +53,14 @@ func (l *NgxLocation) parseLocation(directive gonginx.IDirective, deep int) {
 				l.Content += strings.Repeat("\t", deep) + c + "\n"
 			}
 		}
-		l.Content += strings.Repeat("\t", deep) + location.GetName() + " " + strings.Join(location.GetParameters(), " ") + ";\n"
-		l.parseLocation(location, deep+1)
+		l.Content += strings.Repeat("\t", deep) + location.GetName() + " " + strings.Join(location.GetParameters(), " ")
+		if location.GetBlock() != nil && location.GetBlock().GetDirectives() != nil {
+			l.Content += " { \n"
+			l.parseLocation(location, deep+1)
+			l.Content += " } \n"
+		} else {
+			l.Content += ";\n"
+		}
 	}
 }