summaryrefslogtreecommitdiff
path: root/cmd/commandfuncs.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/commandfuncs.go')
-rw-r--r--cmd/commandfuncs.go17
1 files changed, 13 insertions, 4 deletions
diff --git a/cmd/commandfuncs.go b/cmd/commandfuncs.go
index a10bc19..772fe01 100644
--- a/cmd/commandfuncs.go
+++ b/cmd/commandfuncs.go
@@ -533,7 +533,17 @@ func cmdFmt(fl Flags) (int, error) {
if formatCmdConfigFile == "" {
formatCmdConfigFile = "Caddyfile"
}
- overwrite := fl.Bool("overwrite")
+
+ // as a special case, read from stdin if the file name is "-"
+ if formatCmdConfigFile == "-" {
+ input, err := ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ return caddy.ExitCodeFailedStartup,
+ fmt.Errorf("reading stdin: %v", err)
+ }
+ fmt.Print(string(caddyfile.Format(input)))
+ return caddy.ExitCodeSuccess, nil
+ }
input, err := ioutil.ReadFile(formatCmdConfigFile)
if err != nil {
@@ -543,9 +553,8 @@ func cmdFmt(fl Flags) (int, error) {
output := caddyfile.Format(input)
- if overwrite {
- err = ioutil.WriteFile(formatCmdConfigFile, output, 0644)
- if err != nil {
+ if fl.Bool("overwrite") {
+ if err := ioutil.WriteFile(formatCmdConfigFile, output, 0600); err != nil {
return caddy.ExitCodeFailedStartup, nil
}
} else {