@@ -143,12 +143,12 @@ async function cliOperations(req) {
143143 initConfig ( ) ;
144144 if ( ! getHdbPid ( ) ) {
145145 console . error ( 'Harper must be running to perform this operation' ) ;
146- process . exit ( ) ;
146+ process . exit ( 1 ) ;
147147 }
148148
149149 if ( ! fs . existsSync ( envMgr . get ( terms . CONFIG_PARAMS . OPERATIONSAPI_NETWORK_DOMAINSOCKET ) ) ) {
150150 console . error ( 'No domain socket found, unable to perform this operation' ) ;
151- process . exit ( ) ;
151+ process . exit ( 1 ) ;
152152 }
153153 }
154154 await PREPARE_OPERATION [ req . operation ] ?. ( req ) ;
@@ -178,22 +178,33 @@ async function cliOperations(req) {
178178 } ;
179179 }
180180
181+ let responseLog ;
181182 if ( req . json ) {
182- console . log ( JSON . stringify ( responseData , null , 2 ) ) ;
183+ responseLog = JSON . stringify ( responseData , null , 2 )
183184 } else {
184- console . log ( YAML . stringify ( responseData ) . trim ( ) ) ;
185+ responseLog = YAML . stringify ( responseData ) . trim ( )
185186 }
186187
188+ const { statusCode } = response ;
189+ if ( statusCode < 200 || ( statusCode >= 300 && statusCode !== 304 ) ) {
190+ const errorPrefix = responseLog . startsWith ( 'error:' ) ? '' : 'error: ' ;
191+ console . error ( `${ errorPrefix } ${ responseLog } ` ) ;
192+ process . exit ( 1 ) ;
193+ }
194+
195+ console . log ( responseLog ) ;
196+
187197 return responseData ;
188198 } catch ( err ) {
189- let errMsg = 'Error: ' ;
190- if ( err ?. response ?. data ?. error ) {
191- errMsg += err . response . data . error ;
192- } else if ( err ?. response ?. data ) {
193- errMsg += err ?. response ?. data ;
199+ if ( err . code === 'ENOENT' || err . code === 'ECONNREFUSED' ) {
200+ console . error ( `error: Failed to connect to Harper (${ err . code } ): ${ err . message } ` ) ;
201+ } else if ( err . code === 'EACCES' ) {
202+ console . error ( `error: Permission denied accessing the domain socket: ${ err . message } ` ) ;
203+ } else if ( err . code === 'ENOTFOUND' ) {
204+ console . error ( `error: Host not found: "${ err . hostname } " ${ err . message } ` ) ;
194205 } else {
195- return console . error ( err ) ;
206+ console . error ( `error: ${ err . message ?? err } ` ) ;
196207 }
197- console . error ( errMsg ) ;
208+ process . exit ( 1 ) ;
198209 }
199210}
0 commit comments