Skip to content

Commit 5e51864

Browse files
committed
Merge remote-tracking branch 'origin/develop' into develop
2 parents 6e3e35a + 8fb2348 commit 5e51864

6 files changed

Lines changed: 30 additions & 12 deletions

File tree

engine/engine.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,10 @@ func (e *Engine) AddScript(evt dynamic.ConfigEvent) error {
8383
err := e.run(host)
8484
if err != nil {
8585
if errors.Is(err, UnsupportedError) {
86-
return
86+
log.Debugf("script not supported: %v", evt.Config.Info.Url.Path)
87+
} else {
88+
log.Errorf("error executing script %v: %v", evt.Config.Info.Url, err)
8789
}
88-
log.Errorf("error executing script %v: %v", evt.Config.Info.Url, err)
8990
}
9091
}()
9192
} else {
@@ -137,9 +138,6 @@ func (e *Engine) addOrUpdate(host *scriptHost) {
137138

138139
func (e *Engine) run(host *scriptHost) error {
139140
err := host.Run()
140-
if err != nil {
141-
return err
142-
}
143141

144142
if host.CanClose() {
145143
if e.parallel {
@@ -151,7 +149,7 @@ func (e *Engine) run(host *scriptHost) error {
151149
delete(e.scripts, host.name)
152150
}
153151

154-
return nil
152+
return err
155153
}
156154

157155
func (e *Engine) Scripts() int {

engine/host.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,9 @@ func (sh *scriptHost) HttpClient(opts common.HttpClientOptions) common.HttpClien
325325
}
326326

327327
func (sh *scriptHost) CanClose() bool {
328+
if sh.script == nil {
329+
return true
330+
}
328331
return len(sh.events) == 0 && len(sh.jobs) == 0 && sh.script.CanClose() && len(sh.cleanupFuncs) == 0
329332
}
330333

engine/js_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ func TestJsScriptEngine(t *testing.T) {
5050
time.Sleep(2 * time.Second)
5151
e.Close()
5252
})
53+
t.Run("script from GIT provider", func(t *testing.T) {
54+
t.Parallel()
55+
e := enginetest.NewEngine()
56+
cfgEvent := newScript("https://foo.bar?file=test.js&ref=develop", `import { on } from 'mokapi';export default function() { on('http', function() {})}`)
57+
cfgEvent.Config.Info.Provider = "git"
58+
err := e.AddScript(cfgEvent)
59+
r.NoError(t, err)
60+
r.Equal(t, 1, e.Scripts())
61+
e.Close()
62+
})
5363
}
5464

5565
func TestJsEvery(t *testing.T) {

engine/scripts.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,14 @@ func NewDefaultScriptLoader(config *static.Config) ScriptLoader {
3333
func (l *DefaultScriptLoader) Load(file *dynamic.Config, host common.Host) (common.Script, error) {
3434
s := file.Data.(string)
3535
filename := file.Info.Path()
36-
switch filepath.Ext(filename) {
36+
if file.Info.Provider == "git" {
37+
gitFile := file.Info.Url.Query()["file"]
38+
if len(gitFile) > 0 {
39+
filename = gitFile[0]
40+
}
41+
}
42+
ext := filepath.Ext(filename)
43+
switch ext {
3744
case ".js", ".cjs", ".mjs", ".ts":
3845
return js.New(file, host)
3946
case ".lua":

examples/mail/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/mail/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"dependencies": {
3-
"nodemailer": "^7.0.7"
3+
"nodemailer": "^7.0.11"
44
}
55
}

0 commit comments

Comments
 (0)