aboutsummaryrefslogtreecommitdiff
path: root/internal/osutil/error.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
committerᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
commit9e9ca66467116e9079a2639c00e9e623aca23015 (patch)
treedacdef5392608ff7107e4dd498959d4899e13e54 /internal/osutil/error.go
parent82ff0c5852f29daa5f95d965fd50665581e7ea3c (diff)
refactor: unify error handling in routing layer
Diffstat (limited to 'internal/osutil/error.go')
-rw-r--r--internal/osutil/error.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/osutil/error.go b/internal/osutil/error.go
new file mode 100644
index 00000000..8f312aa9
--- /dev/null
+++ b/internal/osutil/error.go
@@ -0,0 +1,27 @@
+// Copyright 2020 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package osutil
+
+import (
+ "os"
+
+ "gogs.io/gogs/internal/errutil"
+)
+
+var _ errutil.NotFound = (*Error)(nil)
+
+// Error is a wrapper of an OS error, which handles not found.
+type Error struct {
+ error
+}
+
+func (e Error) NotFound() bool {
+ return e.error == os.ErrNotExist
+}
+
+// NewError wraps given error.
+func NewError(err error) error {
+ return Error{error: err}
+}