Compare commits
5 Commits
zim-bundle
...
2023.10.22
Author | SHA1 | Date | |
---|---|---|---|
6e4bf2f025 | |||
22a3326be9 | |||
0cfb132b65 | |||
de4ab0d02c | |||
d1458bab4a |
@ -4,7 +4,7 @@ ARG HTTP_PROXY=
|
|||||||
ARG HTTPS_PROXY=
|
ARG HTTPS_PROXY=
|
||||||
ARG http_proxy=
|
ARG http_proxy=
|
||||||
ARG https_proxy=
|
ARG https_proxy=
|
||||||
ARG GO_VERSION=1.20.2
|
ARG GO_VERSION=1.21.2
|
||||||
|
|
||||||
# Install dev environment dependencies
|
# Install dev environment dependencies
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive &&\
|
RUN export DEBIAN_FRONTEND=noninteractive &&\
|
||||||
|
@ -83,8 +83,12 @@ func (d *eventDispatcher) Close() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *eventDispatcher) close() {
|
func (d *eventDispatcher) close() {
|
||||||
d.closed = true
|
if d.closed {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
close(d.in)
|
close(d.in)
|
||||||
|
d.closed = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *eventDispatcher) In(msg bus.Message) (err error) {
|
func (d *eventDispatcher) In(msg bus.Message) (err error) {
|
||||||
|
@ -19,29 +19,16 @@ func (m *LifecycleModule) Export(export *goja.Object) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *LifecycleModule) OnInit(ctx context.Context, rt *goja.Runtime) (err error) {
|
func (m *LifecycleModule) OnInit(ctx context.Context, rt *goja.Runtime) (err error) {
|
||||||
call, ok := goja.AssertFunction(rt.Get("onInit"))
|
_, ok := goja.AssertFunction(rt.Get("onInit"))
|
||||||
if !ok {
|
if !ok {
|
||||||
logger.Warn(ctx, "could not find onInit() function")
|
logger.Warn(ctx, "could not find onInit() function")
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
if _, err := rt.RunString("setTimeout(onInit, 0)"); err != nil {
|
||||||
if recovered := recover(); recovered != nil {
|
return errors.WithStack(err)
|
||||||
revoveredErr, ok := recovered.(error)
|
}
|
||||||
if ok {
|
|
||||||
logger.Error(ctx, "recovered runtime error", logger.CapturedE(errors.WithStack(revoveredErr)))
|
|
||||||
|
|
||||||
err = errors.WithStack(app.ErrUnknownError)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
panic(recovered)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
call(nil)
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ func (s *BlobStore) OpenBucket(ctx context.Context, name string) (storage.BlobBu
|
|||||||
func (s *BlobStore) call(ctx context.Context, serviceMethod string, args any, reply any) error {
|
func (s *BlobStore) call(ctx context.Context, serviceMethod string, args any, reply any) error {
|
||||||
err := s.withClient(ctx, func(ctx context.Context, client *rpc.Client) error {
|
err := s.withClient(ctx, func(ctx context.Context, client *rpc.Client) error {
|
||||||
if err := client.Call(ctx, serviceMethod, args, reply); err != nil {
|
if err := client.Call(ctx, serviceMethod, args, reply); err != nil {
|
||||||
return errors.WithStack(err)
|
return errors.WithStack(remapBlobError(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -96,7 +96,7 @@ func (s *DocumentStore) Upsert(ctx context.Context, collection string, doc stora
|
|||||||
func (s *DocumentStore) call(ctx context.Context, serviceMethod string, args any, reply any) error {
|
func (s *DocumentStore) call(ctx context.Context, serviceMethod string, args any, reply any) error {
|
||||||
err := s.withClient(ctx, func(ctx context.Context, client *rpc.Client) error {
|
err := s.withClient(ctx, func(ctx context.Context, client *rpc.Client) error {
|
||||||
if err := client.Call(ctx, serviceMethod, args, reply); err != nil {
|
if err := client.Call(ctx, serviceMethod, args, reply); err != nil {
|
||||||
return errors.WithStack(err)
|
return errors.WithStack(remapDocumentError(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -1,10 +1,31 @@
|
|||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"forge.cadoles.com/arcad/edge/pkg/storage"
|
||||||
"forge.cadoles.com/arcad/edge/pkg/storage/share"
|
"forge.cadoles.com/arcad/edge/pkg/storage/share"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func remapBlobError(err error) error {
|
||||||
|
switch errors.Cause(err).Error() {
|
||||||
|
case storage.ErrBlobNotFound.Error():
|
||||||
|
return storage.ErrBlobNotFound
|
||||||
|
case storage.ErrBucketClosed.Error():
|
||||||
|
return storage.ErrBucketClosed
|
||||||
|
default:
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func remapDocumentError(err error) error {
|
||||||
|
switch errors.Cause(err).Error() {
|
||||||
|
case storage.ErrDocumentNotFound.Error():
|
||||||
|
return storage.ErrDocumentNotFound
|
||||||
|
default:
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func remapShareError(err error) error {
|
func remapShareError(err error) error {
|
||||||
switch errors.Cause(err).Error() {
|
switch errors.Cause(err).Error() {
|
||||||
case share.ErrAttributeRequired.Error():
|
case share.ErrAttributeRequired.Error():
|
||||||
|
Reference in New Issue
Block a user