1
0
Fork 0
Commit Graph

26 Commits

Author SHA1 Message Date
Alan Plum cfa0e0db55 Better foxx errors (#6264)
* Fix codeFrame formatting

Pushing the codeFrame first results in ugly line breaks or extra spaces.

* Include cause in MODULE_FAILURE message

The error is always a wrapper for an underlying cause so it should be easier to determine what caused it.

* Add a codeFrame for failed _install

We normally only want this in dev mode but service CRUD should always provide detailed info.

* Expose codeFrame in Foxx CRUD

The codeFrame can only come from a failed _install, so let's make it visible to Foxx CLI and friends.

* Add codeFrame to runScript

Scripts can also only be executed with access to the Foxx API so we can provide the same info as during CRUD.

* Trim codeFrame fileName to basePath

If we have a basePath, we don't need to expose the full path to the user for the codeFrame to be meaningful.

* Fix getReadableName

Previously 'catch-fire' would become 'Catch  Ire'.

* Add to changelog
2018-08-28 14:36:33 +02:00
Alan Plum 1f69cb6d9d Fix Foxx CRUD errors (#5876)
* Fix off-by-2 error for SyntaxError line nums

* Actually log Foxx HTTP API errors

* Fix line wrap when logging error stacks
2018-08-17 10:09:12 +02:00
Mark 435523167f Bug-fix Foxx empty json request body (#5304) 2018-05-16 16:54:38 +02:00
Mark cd97787adf Fix Foxx API (#4614) 2018-02-20 10:22:27 +01:00
Mark 599da158b5 Bugfix Foxx API tests (#4446) 2018-02-05 11:31:27 +01:00
Alan Plum 05d0c81d7d More consistent config/deps output in Foxx API (devel) (#3792)
* Correctly expose parsed/raw config

This makes accessing the configuration more consistent by distinguishing between the raw (assigned) and parsed (validated/default) values.
Previously there was no way to recognise default values for unset config options and the "current" value did not actually reflect what the service sees.

* Add minimal option to config/deps routes

The default values are backwards compatible with the existing behaviour but can be overridden to consistently get more/less output.

* Actually merge warnings into non-mininal response
2018-01-30 16:50:36 +01:00
Mark d611414682 Fix HTTP Foxx API Json parsing (#3129) 2017-08-28 14:55:13 +02:00
Alan Plum 7f585af4c3 Explicitly return 204 status code on commit (#2694) 2017-06-29 15:13:09 +02:00
Alan Plum bf9c018f7b Add idiomatic flag to Foxx tests (#2693) 2017-06-29 15:12:58 +02:00
Alan Plum bbca34b210 Allow passing plain JSON data for config/deps (#2688) 2017-06-28 14:08:54 +02:00
Mark 50ad6fbd76 Foxx service CRUD optimizations (#2657)
* Pass config/deps on _install so setup can see them

* Only register service when install succeeded

* Don't throw after point of no return: breaky install is breaky

* Delete service files during install if service validation fail

* Delete service files during install if service execution fails

* Fix commitLocalState with invalide services

* Remove deprecated test
2017-06-26 09:28:59 +02:00
Alan Plum 4b4b9f8c55 Fix Foxx API error (#2517)
* Fix Foxx API error
* Manager should distinguish between errors and services
* Foxx API should not require service to exist for uninstall
  if force option is used
* Respect options.force in FM _install
2017-06-01 11:59:04 +02:00
Mark f832dd0388 Implement endpoint "commit coordinator state" (#2513)
Implement endpoint "commit coordinator state" (also see #2479)
2017-05-31 18:21:50 +02:00
Alan Plum cceccf59da Simplified Foxx self healing (#2511)
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log
2017-05-30 18:27:32 +02:00
Alan Plum 30524bbb84
No more need to wrap legacy errors in new Foxx HTTP API 2017-05-17 13:22:11 +02:00
Alan Plum 5d017d733c Improve Foxx cluster resilience (#2479)
* Improve Foxx cluster resilience

Fixes #2083
Fixes #2384
Fixes #2408
Addresses #1892

* Port old Foxx API

* Implement single-file services

* Add console.errorStack/warnStack/infoStack helpers

* Simplify serviceInfo validation

* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core

* Add Foxxmanager tests

* Send empty response when no README

* Disambiguate script arg format

Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.

* Rebuild bundle in development mode

* Nicer HTTP docs formatting

* Create Foxx HTTP docs

* Simplify service upload handling

* Remove inline swagger docs

* Implement public download route

* Consistency

* Rebuild aardvark

* Move bundle route into /_api/foxx/_local

* Rebuild Swagger API docs

* Add changes to CHANGELOG

* More docs
2017-05-16 17:41:29 +02:00
Alan Plum c8d03dd4e1
Provide ljson output for Foxx stream reporter 2017-03-15 20:09:33 +01:00
Alan Plum 4920ef8b41
Implement tap/xunit reporters in Foxx 2017-03-15 20:09:31 +01:00
Alan Plum cd98d53ec4
Add swagger route to Foxx API 2016-12-12 02:32:49 +01:00
Alan Plum 04d70bbfe8
Add development option to Foxx API install 2016-11-17 11:29:53 +01:00
Alan Plum 5978461ffe
Add download route to Foxx API 2016-11-16 18:49:56 +01:00
Alan Plum c0a3f5a8a1
Better Foxx API error handling 2016-11-12 22:33:07 +01:00
Alan Plum 0779b99d99
Fix Foxx development mode HTTP API 2016-11-08 13:23:24 +01:00
Alan Plum 41c0f6928d
Allow passing config & deps on install/upgrade/replace 2016-10-31 16:13:32 +01:00
Alan Plum a999dee906
Add scripts route to Foxx API 2016-10-26 11:41:08 +02:00
Alan Plum 245819ea9c
Add Foxx HTTP API 2016-10-20 15:09:36 +02:00