Add support for OpenTelemetry through the otel package
Request/Response object are now persistent across header and request logic (#55)
fiery 1.3.0
Added serve_static() method to Fire to serve a directory of static files directly outside the request loop
Move code over to rlang style programming
Full rewrite of condition handling.
Added logger_logger() to use the logger package for logging
Fire$log() now supports cli syntax in the message
Support for the reqres_problem conditions
Fire$log() now supports passing in a condition as message
Added Fire$data_store field to complementFire$get_data() and friends. It provides direct access to the global data store
Allow naming plugins when they are attached
showcase inFire$ignite()/Fire$run() can now take a string giving the path to open the browser at.
Improve the default session id handling and addedsession_id_cookie() helper function for constructing session ID extractor
Deprecate use of future. Fire$delay() andFire$time() now uses quosures and Fire$async()has been soft deprecated in favor of letting the user use whatever async framework they like
Support returning promises in request events, and automated error logging from promises in all events
Added websocket-opened event that allows the user to add a handler that modifies the WebSocket connection when it is established
fiery 1.2.1
Fixed a test failure only affecting the CRAN M1 machine
fiery 1.2.0
Update to work with new future release
Move from assertthat to rlang based type checking
fiery 1.1.4
General upkeep (new CI, redocument, etc)
fiery 1.1.3
Avoid tests that fails on some CRAN machines due to new testthat version
fiery 1.1.2
Fix bug where delayed logging would result in wrong message being logged (#39)
Remove some tests as new later architecture makes certain async operations untestable (#40)
Fix bug with root mounting of app where the root would be stripped before checking if it exists.
Fix a bug when evaluating multiple futures at once, where the removal of the futures would throw an error (#28)
Fix a bug preventing setting loggers on cloned apps (#30)
The call that raises a caught error is now recorded in the log (#33)
fiery 1.1.0
Add logging API. Set custom loggers with set_logger()and send messages to the log with log(). Logging is automatically delayed so it doesn’t slow down request and message handling (#18).
Added access_log_format field to define how requests are logged.
Added is_running() method to query the state of the server.
Capture errors in each handler for events and delayed execution, so that evaluation of the other handlers are unaffected (#20).
Document the use of delayed evaluation. See?delay_doc
fiery 1.0.0
Fire$new() now takes a port and host argument to set these fields on initialisation. (fixes #5)
BREAKING Results from before-request and before-message events are now passed on to the request and message handlers as a list in the arg_list argument rather than as single arguments.
The host and port are now advertised when a server is started/resumed (#11)
Fire objects now has a print method (#12)
BREAKING fiery now uses the reqresRequest and Response classes for handling http exchange.
BREAKINGattach() now expect aon_attach() method rather than a onAttach()method from the plugin. It also expects a name field and optionally a require field
BREAKING The header event now expect handlers to return a logical, with TRUE indicating further processing, and FALSE indicating termination.
Cycle events are now triggered when running withblock = FALSE making the two run modes identical in their life cycle events.
BREAKING The after-request event will no longer pass the response to handlers. This can be retrieved from therequest object.
The server can now be mounted at a path, which will strip that path from request paths thus making the app logic independent on mounting. Use the root field to access and change the root location.
Websocket connections can now be closed from the server by using theclose_ws_con() method.
Better documentation. Events and plugins now has their own documentation entries (fixes #10).
Convert roxygen documentation to md format
BREAKING fields now uses snake_case rather than camelCase for a more consistent interface. This meansrefreshRate -> refresh_rate,triggerDir -> trigger_dir.
Switch to MIT License
Catch errors in start and resume event handlers
fiery 0.2.3
DelayStack uses sequential futures withlazy = TRUE because previously used lazyfutures are deprecated
fiery 0.2.2
Changed default host to 127.0.0.1
Fixed test errors on Windows builders
fiery 0.2.0
Added fake_request to generate fake, rook-compliant, request objects. Useful for testing
Added header method to Fire for setting global header policies
Added standard 4xx responses
Added FutureStack class and subclasses to capture expressions for later, timed, and async evaluation
Added delay, remove_delay,time, remove_time, async, andremove_async methods to Fire for adding delayed, timed, and async expressions for evaluation
fiery 0.1.0
Added Fire class encapsulating the server runtime
Added HandlerStack class to store and trigger event handlers