diff --git a/api/config/add.go b/api/config/add.go
index 076375a5..37be3895 100644
--- a/api/config/add.go
+++ b/api/config/add.go
@@ -76,9 +76,7 @@ func AddConfig(c *gin.Context) {
output := nginx.Reload()
if nginx.GetLogLevel(output) >= nginx.Warn {
- c.JSON(http.StatusInternalServerError, gin.H{
- "message": output,
- })
+ cosy.ErrHandler(c, cosy.WrapErrorWithParams(config.ErrNginxReloadFailed, output))
return
}
diff --git a/app/src/layouts/HeaderLayout.vue b/app/src/layouts/HeaderLayout.vue
index 028a53ac..b287c99a 100644
--- a/app/src/layouts/HeaderLayout.vue
+++ b/app/src/layouts/HeaderLayout.vue
@@ -35,13 +35,6 @@ const isWorkspace = computed(() => {
-
{
+
+
@@ -98,8 +99,6 @@ const isWorkspace = computed(() => {
}
.workspace-entry {
- position: absolute;
- left: 20px;
@media (max-width: 600px) {
display: none;
}
diff --git a/internal/config/errors.go b/internal/config/errors.go
index 0e6d4482..b90c7c31 100644
--- a/internal/config/errors.go
+++ b/internal/config/errors.go
@@ -6,4 +6,6 @@ var (
e = cosy.NewErrorScope("config")
ErrPathIsNotUnderTheNginxConfDir = e.New(50006, "path: {0} is not under the nginx conf dir: {1}")
ErrDstFileExists = e.New(50007, "destination file: {0} already exists")
+ ErrNginxTestFailed = e.New(50008, "nginx test failed: {0}")
+ ErrNginxReloadFailed = e.New(50009, "nginx reload failed: {0}")
)
diff --git a/internal/config/save.go b/internal/config/save.go
index 72efc02d..25f7e98d 100644
--- a/internal/config/save.go
+++ b/internal/config/save.go
@@ -1,13 +1,13 @@
package config
import (
- "fmt"
"os"
"github.com/0xJacky/Nginx-UI/internal/helper"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query"
+ "github.com/uozi-tech/cosy"
"gorm.io/gen/field"
)
@@ -47,7 +47,7 @@ func Save(absPath string, content string, cfg *model.Config) (err error) {
output := nginx.Reload()
if nginx.GetLogLevel(output) >= nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
err = SyncToRemoteServer(cfg)
diff --git a/internal/site/disable.go b/internal/site/disable.go
index b75808fa..7a4f8205 100644
--- a/internal/site/disable.go
+++ b/internal/site/disable.go
@@ -2,15 +2,17 @@ package site
import (
"fmt"
- "github.com/0xJacky/Nginx-UI/internal/nginx"
- "github.com/0xJacky/Nginx-UI/internal/notification"
- "github.com/0xJacky/Nginx-UI/model"
- "github.com/go-resty/resty/v2"
- "github.com/uozi-tech/cosy/logger"
"net/http"
"os"
"runtime"
"sync"
+
+ "github.com/0xJacky/Nginx-UI/internal/nginx"
+ "github.com/0xJacky/Nginx-UI/internal/notification"
+ "github.com/0xJacky/Nginx-UI/model"
+ "github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
+ "github.com/uozi-tech/cosy/logger"
)
// Disable disables a site by removing the symlink in sites-enabled
@@ -35,7 +37,7 @@ func Disable(name string) (err error) {
output := nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
go syncDisable(name)
diff --git a/internal/site/enable.go b/internal/site/enable.go
index 5a27d9ac..4fba2057 100644
--- a/internal/site/enable.go
+++ b/internal/site/enable.go
@@ -11,6 +11,7 @@ import (
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/internal/notification"
"github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
"github.com/uozi-tech/cosy/logger"
)
@@ -37,12 +38,12 @@ func Enable(name string) (err error) {
output := nginx.TestConf()
if nginx.GetLogLevel(output) > nginx.Warn {
_ = os.Remove(enabledConfigFilePath)
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
go syncEnable(name)
diff --git a/internal/site/errors.go b/internal/site/errors.go
index 6d335fc9..74cd191e 100644
--- a/internal/site/errors.go
+++ b/internal/site/errors.go
@@ -8,4 +8,6 @@ var (
ErrDstFileExists = e.New(50001, "destination file already exists")
ErrSiteIsEnabled = e.New(50002, "site is enabled")
ErrSiteIsInMaintenance = e.New(50003, "site is in maintenance mode")
+ ErrNginxTestFailed = e.New(50004, "nginx test failed: {0}")
+ ErrNginxReloadFailed = e.New(50005, "nginx reload failed: {0}")
)
diff --git a/internal/site/maintenance.go b/internal/site/maintenance.go
index d93916c1..74a36dbf 100644
--- a/internal/site/maintenance.go
+++ b/internal/site/maintenance.go
@@ -16,6 +16,7 @@ import (
"github.com/go-resty/resty/v2"
"github.com/tufanbarisyildirim/gonginx/config"
"github.com/tufanbarisyildirim/gonginx/parser"
+ "github.com/uozi-tech/cosy"
"github.com/uozi-tech/cosy/logger"
cSettings "github.com/uozi-tech/cosy/settings"
)
@@ -82,13 +83,13 @@ func EnableMaintenance(name string) (err error) {
if helper.FileExists(originalEnabledPath + "_backup") {
_ = os.Rename(originalEnabledPath+"_backup", originalEnabledPath)
}
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
// Reload nginx
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
// Synchronize with other nodes
diff --git a/internal/site/save.go b/internal/site/save.go
index 2210356d..1daf6a54 100644
--- a/internal/site/save.go
+++ b/internal/site/save.go
@@ -14,6 +14,7 @@ import (
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query"
"github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
"github.com/uozi-tech/cosy/logger"
)
@@ -40,13 +41,13 @@ func Save(name string, content string, overwrite bool, envGroupId uint64, syncNo
output := nginx.TestConf()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
if postAction == model.PostSyncActionReloadNginx {
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
}
}
diff --git a/internal/stream/disable.go b/internal/stream/disable.go
index e6f5cc43..14ab4c61 100644
--- a/internal/stream/disable.go
+++ b/internal/stream/disable.go
@@ -2,15 +2,17 @@ package stream
import (
"fmt"
- "github.com/0xJacky/Nginx-UI/internal/nginx"
- "github.com/0xJacky/Nginx-UI/internal/notification"
- "github.com/0xJacky/Nginx-UI/model"
- "github.com/go-resty/resty/v2"
- "github.com/uozi-tech/cosy/logger"
"net/http"
"os"
"runtime"
"sync"
+
+ "github.com/0xJacky/Nginx-UI/internal/nginx"
+ "github.com/0xJacky/Nginx-UI/internal/notification"
+ "github.com/0xJacky/Nginx-UI/model"
+ "github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
+ "github.com/uozi-tech/cosy/logger"
)
// Disable disables a site by removing the symlink in sites-enabled
@@ -35,7 +37,7 @@ func Disable(name string) (err error) {
output := nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
go syncDisable(name)
diff --git a/internal/stream/enable.go b/internal/stream/enable.go
index e1839090..055a2b11 100644
--- a/internal/stream/enable.go
+++ b/internal/stream/enable.go
@@ -2,15 +2,17 @@ package stream
import (
"fmt"
- "github.com/0xJacky/Nginx-UI/internal/helper"
- "github.com/0xJacky/Nginx-UI/internal/nginx"
- "github.com/0xJacky/Nginx-UI/internal/notification"
- "github.com/go-resty/resty/v2"
- "github.com/uozi-tech/cosy/logger"
"net/http"
"os"
"runtime"
"sync"
+
+ "github.com/0xJacky/Nginx-UI/internal/helper"
+ "github.com/0xJacky/Nginx-UI/internal/nginx"
+ "github.com/0xJacky/Nginx-UI/internal/notification"
+ "github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
+ "github.com/uozi-tech/cosy/logger"
)
// Enable enables a site by creating a symlink in sites-enabled
@@ -36,12 +38,12 @@ func Enable(name string) (err error) {
output := nginx.TestConf()
if nginx.GetLogLevel(output) > nginx.Warn {
_ = os.Remove(enabledConfigFilePath)
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
go syncEnable(name)
diff --git a/internal/stream/errors.go b/internal/stream/errors.go
index 3bb02ec7..37c4c48d 100644
--- a/internal/stream/errors.go
+++ b/internal/stream/errors.go
@@ -7,4 +7,6 @@ var (
ErrStreamNotFound = e.New(40401, "stream not found")
ErrDstFileExists = e.New(50001, "destination file already exists")
ErrStreamIsEnabled = e.New(50002, "stream is enabled")
+ ErrNginxTestFailed = e.New(50003, "nginx test failed: {0}")
+ ErrNginxReloadFailed = e.New(50004, "nginx reload failed: {0}")
)
diff --git a/internal/stream/rename.go b/internal/stream/rename.go
index 2620a0b1..cf3b07d2 100644
--- a/internal/stream/rename.go
+++ b/internal/stream/rename.go
@@ -7,6 +7,7 @@ import (
"github.com/0xJacky/Nginx-UI/internal/notification"
"github.com/0xJacky/Nginx-UI/query"
"github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
"github.com/uozi-tech/cosy/logger"
"net/http"
"os"
@@ -49,13 +50,13 @@ func Rename(oldName string, newName string) (err error) {
// test nginx configuration
output := nginx.TestConf()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
// reload nginx
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
go syncRename(oldName, newName)
diff --git a/internal/stream/save.go b/internal/stream/save.go
index 3b815594..b766ba98 100644
--- a/internal/stream/save.go
+++ b/internal/stream/save.go
@@ -14,6 +14,7 @@ import (
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query"
"github.com/go-resty/resty/v2"
+ "github.com/uozi-tech/cosy"
"github.com/uozi-tech/cosy/logger"
)
@@ -40,13 +41,13 @@ func Save(name string, content string, overwrite bool, syncNodeIds []uint64, pos
output := nginx.TestConf()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxTestFailed, output)
}
if postAction == model.PostSyncActionReloadNginx {
output = nginx.Reload()
if nginx.GetLogLevel(output) > nginx.Warn {
- return fmt.Errorf("%s", output)
+ return cosy.WrapErrorWithParams(ErrNginxReloadFailed, output)
}
}
}