Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
d38fa60fbc
|
|||
5fba7e0e2f
|
|||
8757643399
|
@@ -420,7 +420,7 @@ func (b *Builder) Build() error {
|
|||||||
b.errorData.ShortLog(stackSkipLogger.Error())
|
b.errorData.ShortLog(stackSkipLogger.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
b.CallListener(MethodBuild)
|
b.errorData.CallListener(MethodBuild)
|
||||||
|
|
||||||
return b.errorData
|
return b.errorData
|
||||||
}
|
}
|
||||||
@@ -442,7 +442,7 @@ func (b *Builder) Output(ctx context.Context, g *gin.Context) {
|
|||||||
b.errorData.Log(stackSkipLogger.Warn())
|
b.errorData.Log(stackSkipLogger.Warn())
|
||||||
}
|
}
|
||||||
|
|
||||||
b.CallListener(MethodOutput)
|
b.errorData.CallListener(MethodOutput)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print prints the error
|
// Print prints the error
|
||||||
@@ -454,7 +454,7 @@ func (b *Builder) Print() {
|
|||||||
b.errorData.ShortLog(stackSkipLogger.Warn())
|
b.errorData.ShortLog(stackSkipLogger.Warn())
|
||||||
}
|
}
|
||||||
|
|
||||||
b.CallListener(MethodPrint)
|
b.errorData.CallListener(MethodPrint)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Builder) Format(level LogPrintLevel) string {
|
func (b *Builder) Format(level LogPrintLevel) string {
|
||||||
@@ -467,7 +467,7 @@ func (b *Builder) Fatal() {
|
|||||||
b.errorData.Severity = SevFatal
|
b.errorData.Severity = SevFatal
|
||||||
b.errorData.Log(stackSkipLogger.WithLevel(zerolog.FatalLevel))
|
b.errorData.Log(stackSkipLogger.WithLevel(zerolog.FatalLevel))
|
||||||
|
|
||||||
b.CallListener(MethodFatal)
|
b.errorData.CallListener(MethodFatal)
|
||||||
|
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
@@ -25,13 +25,11 @@ func RegisterListener(l Listener) {
|
|||||||
listener = append(listener, l)
|
listener = append(listener, l)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Builder) CallListener(m Method) {
|
func (ee *ExErr) CallListener(m Method) {
|
||||||
valErr := b.errorData
|
|
||||||
|
|
||||||
listenerLock.Lock()
|
listenerLock.Lock()
|
||||||
defer listenerLock.Unlock()
|
defer listenerLock.Unlock()
|
||||||
|
|
||||||
for _, v := range listener {
|
for _, v := range listener {
|
||||||
v(m, valErr)
|
v(m, ee)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -328,6 +328,8 @@ type jsonAPIErrResponse struct {
|
|||||||
|
|
||||||
func (j jsonAPIErrResponse) Write(g *gin.Context) {
|
func (j jsonAPIErrResponse) Write(g *gin.Context) {
|
||||||
j.err.Output(g)
|
j.err.Output(g)
|
||||||
|
|
||||||
|
j.err.CallListener(exerr.MethodOutput)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j jsonAPIErrResponse) WithHeader(k string, v string) HTTPResponse {
|
func (j jsonAPIErrResponse) WithHeader(k string, v string) HTTPResponse {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.358"
|
const GoextVersion = "0.0.361"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2024-01-05T16:53:14+0100"
|
const GoextVersionTimestamp = "2024-01-07T04:01:12+0100"
|
||||||
|
@@ -12,5 +12,8 @@ func CalcPaginationTotalPages(totalItems int, limit int) int {
|
|||||||
if totalItems == 0 {
|
if totalItems == 0 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
if limit == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
return 1 + (totalItems-1)/limit
|
return 1 + (totalItems-1)/limit
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,9 @@ func TestCreateUpdateStatement(t *testing.T) {
|
|||||||
JsonVal JsonObj `json:"jsonVal" db:"json_val"`
|
JsonVal JsonObj `json:"jsonVal" db:"json_val"`
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlite.RegisterAsSQLITE3()
|
if !langext.InArray("sqlite3", sql.Drivers()) {
|
||||||
|
sqlite.RegisterAsSQLITE3()
|
||||||
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
|
@@ -2,6 +2,7 @@ package sq
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/glebarez/go-sqlite"
|
"github.com/glebarez/go-sqlite"
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
@@ -20,7 +21,9 @@ func TestTypeConverter1(t *testing.T) {
|
|||||||
Timestamp time.Time `db:"timestamp"`
|
Timestamp time.Time `db:"timestamp"`
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlite.RegisterAsSQLITE3()
|
if !langext.InArray("sqlite3", sql.Drivers()) {
|
||||||
|
sqlite.RegisterAsSQLITE3()
|
||||||
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
@@ -48,15 +51,15 @@ func TestTypeConverter1(t *testing.T) {
|
|||||||
|
|
||||||
func TestTypeConverter2(t *testing.T) {
|
func TestTypeConverter2(t *testing.T) {
|
||||||
|
|
||||||
sqlite.RegisterAsSQLITE3()
|
if !langext.InArray("sqlite3", sql.Drivers()) {
|
||||||
|
sqlite.RegisterAsSQLITE3()
|
||||||
|
}
|
||||||
|
|
||||||
type RequestData struct {
|
type RequestData struct {
|
||||||
ID string `db:"id"`
|
ID string `db:"id"`
|
||||||
Timestamp rfctime.UnixMilliTime `db:"timestamp"`
|
Timestamp rfctime.UnixMilliTime `db:"timestamp"`
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlite.RegisterAsSQLITE3()
|
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
dbdir := t.TempDir()
|
dbdir := t.TempDir()
|
||||||
|
Reference in New Issue
Block a user