@@ -73,34 +73,41 @@ func Process(version string) {
7373 log .Debug ().Str ("Parsed API" , parsedAPI .String ()).Msg ("" )
7474 res , out , responseTime , statusCodes , contentSizes , err := HandleParsedFile (parsedAPI , o , dir )
7575 if err != nil {
76- log .Fatal ().Str ("Type" , "Controller" ).Msg (fmt .Sprint ("Error: " , err ))
76+ log .Error ().Str ("Type" , "Controller" ).Msg (fmt .Sprint ("Error: " , err ))
7777 }
7878 if out .Output != "" {
7979 outputmanager .WriteJSONOutput (res , out .Output , responseTime , statusCodes , contentSizes )
8080 }
8181}
8282
83- func processBlocks (parsedAPIblocks []* gabs.Container , o * lama2cmd.Opts , dir string ) (httpie.ExResponse , * lama2cmd.Opts , []outputmanager.ResponseTime , []outputmanager.StatusCode , []outputmanager.ContentSize ) {
83+ func processBlocks (parsedAPIblocks []* gabs.Container , o * lama2cmd.Opts , dir string ) (httpie.ExResponse , * lama2cmd.Opts , []outputmanager.ResponseTime , []outputmanager.StatusCode , []outputmanager.ContentSize , error ) {
8484 vm := cmdexec .GetJSVm ()
8585 var resp httpie.ExResponse
8686 var responseTime []outputmanager.ResponseTime
8787 var statusCode []outputmanager.StatusCode
8888 var contentSize []outputmanager.ContentSize
8989 var timeInMs int64
90+ var e1 error
9091 for i , block := range parsedAPIblocks {
9192 log .Debug ().Int ("Block num" , i ).Msg ("" )
9293 log .Debug ().Str ("Block getting processed" , block .String ()).Msg ("" )
9394 blockType := block .S ("type" ).Data ().(string )
9495 switch blockType {
9596 case "processor" :
96- ExecuteProcessorBlock (block , vm )
97+ err := ExecuteProcessorBlock (block , vm )
98+ if err != nil {
99+ return httpie.ExResponse {}, o , responseTime , statusCode , contentSize , err
100+ }
97101 case "Lama2File" :
98- resp , timeInMs = processLama2FileBlock (block , vm , o , dir )
102+ resp , timeInMs , e1 = processLama2FileBlock (block , vm , o , dir )
103+ if e1 != nil {
104+ return httpie.ExResponse {}, o , responseTime , statusCode , contentSize , e1
105+ }
99106 log .Info ().Str ("ResponseTime" , fmt .Sprintf ("%dms" , timeInMs )).Msg ("" )
100107 responseTime , statusCode , contentSize = CalculateMetrics (resp , timeInMs , responseTime , statusCode , contentSize )
101108 }
102109 }
103- return resp , o , responseTime , statusCode , contentSize
110+ return resp , o , responseTime , statusCode , contentSize , nil
104111}
105112
106113func ExecuteRequestorBlockHelper (resp httpie.ExResponse , headersString string , e1 error , vm interface {}) httpie.ExResponse {
@@ -114,11 +121,15 @@ func ExecuteRequestorBlockHelper(resp httpie.ExResponse, headersString string, e
114121 return resp
115122}
116123
117- func ExecuteProcessorBlock (block * gabs.Container , vm interface {}) {
124+ func ExecuteProcessorBlock (block * gabs.Container , vm interface {}) error {
118125 b := block .S ("value" ).Data ().(* gabs.Container )
119126 log .Debug ().Str ("Processor block incoming block" , block .String ()).Msg ("" )
120127 script := b .Data ().(string )
121- cmdexec .RunVMCode (script , vm )
128+ err := cmdexec .RunVMCode (script , vm )
129+ if err != nil {
130+ return err
131+ }
132+ return nil
122133}
123134
124135func CalculateMetrics (resp httpie.ExResponse , timeInMs int64 , responseTime []outputmanager.ResponseTime , statusCodes []outputmanager.StatusCode , contentSizes []outputmanager.ContentSize ) ([]outputmanager.ResponseTime , []outputmanager.StatusCode , []outputmanager.ContentSize ) {
0 commit comments