Skip to content

Releases: ambiorix-web/ambiorix

2.1.0

06 Apr 19:56
Compare
Choose a tag to compare

Breaking

  • Response method status renamed to set_status
    (this is to allow having status as a field).

Changes

  • Improve rendering of templates.
    No longer force render data as JSON if using an HTML template.
  • Allow nested partials, their path must be relative.
  • Added jobj function to serialise objects to JSON in render.
  • Allow passing host and port to start() method.
  • Added host and port active bindings.
  • Move internal is_running field to private.
  • Added status active binding on Response.
  • Added get_header, set_header, and set_headers to Response.
  • Allow adding multiple cookies to the request.
  • Add parseCookie JavaScript helper function to JavaScript file.
  • Allow customising the cookie parser with as_cookie_parser.
  • Allow adding cookie value preprocessors with as_cookie_preprocessor.
  • Arguments to cookie method on Response take options.
  • Added clear_cookie method to Response
  • Cookies of the same name overwrite rather than duplicate.
  • Added content_* family of convenience function to set content type headers.
  • Export serialise
  • Fixed issue where wrong path pattern was matched.
  • Catch error if no route is specified.
  • Do not force body to character fixes #44
  • Do no force content type on response fixes #45
  • Deprecate passing headers to response or send-like functions, use
    header method.
  • Deprecate set_header in favour of header method.
  • Added family of header_content* methods to easily set Content-Type.
  • Request HEADERS is always a list.
  • Deprecate set and get on Response and Request, this is no longer
    needed the environments are no longer locked; res$myVar <- 2L.
  • Deprecate status argument of responses, the active binding should
    be used instead; res$status <- 404L.
  • Partially improved route matching.
  • Allow customising the path to pattern converter.
  • Added get_header method to the retrieve a specific method.
  • Fix htmlwidget response.
  • Added image, png and jpeg methods to Response to serve images.
  • Added ggplot2 method to Response.
  • Allow use method on Router these will only be applied to paths
    of said router.
  • Added parse_* methods to the Request.
  • Cookie path defaults to /.
  • Fix default serialiser
  • More robust parser_* methods and fuctions.
  • Empty cookie is empty list instead of empty string.
  • Added mockRequest to for testing purposes.
  • Fixed port, host, and websocket active bindings.
  • Add ability to create custom renderer, see
    jader, and
    pugger.

Belgae

01 Mar 20:18
Compare
Choose a tag to compare

Breaking change

The render and send_file methods of the Response object now
expect the full path to the template, with the file extension.
Where one would before res$render("home"), now one
res$render("templates/home.html").
Similarly, in said templates, to import partials,
use full path relative to the template in which the partial is used
e.g.: from [! header.html !] to
[! partials/header.html !].

Changes

  • Middleware no longer uses global environment that may cause side effect
    across sessions.
  • set and get methods on request store in environment to allow
    locking variables when using set.
  • Better instructions for deploying as a service.
  • Remove the deprecated Logger class, see log package.
  • Pass host to free port fetch function.
  • Add hidden option to force change port for upcoming related service.
  • Internals of calls reworked to share response object.
    This is how it should always have worked, it allows middlewares to
    updatre request and response to be used/passed to subsequent calls.
  • Middleware check for run has been fixed.
  • Document and export the Response class.
  • Added pre-hook to response.
  • Document and export Request class.
  • set and get methods on Request and Response accept character
    strings as name.
  • Use R 4.1.0 + add Depends
  • Allow passing a list of functions to use to easily se multiple
    middlewares at once.
  • render method correctly sets the Content-type header.
  • headers method more robust to avoid duplicated headers.
  • Add token_create function.
  • Add cookie method to the Response class to easily set cookies.
  • Add cookie field to Request to hold parsed HTTP_COOKIE.
  • Properly URL decode query string values.
  • Add sendf method to Response class to pre-process request
    with sprintf.
  • Silently read templates, no more EOF warnings.
  • More informative print messages for classes.
  • Add post render hooks to response.
  • Added get_headers method to Response to retrieve currently set headers.
  • Unlock objects to allow adding new elements to Response and Request.
  • Upgrade websocket protocol if on HTTPS protocol.
  • Improved the default log.
  • log argument of ambiorix constructor now defaults to TRUE.
  • Added md method to Response to render .md files.
  • Added set_log* functions to allow using custom logs.

CRAN

27 Jan 10:37
Compare
Choose a tag to compare
  • Reaches CRAN
  • Removed create_ambiorix, see ambiorix.generator.
  • Removed add_template, see ambiorix.generator.
  • Deprecate the Logger class in favour of the log package.
  • Added all method to define route and handler for all methods GET, POST, PUT, DELETE, and PATCH.
  • The use method now accepts a function which is run every time the server receives a request.
  • Add set and get to request to add and retrieve params (namely with the middleware)
  • Fix check_installed, see #33

Initial Version

20 Sep 21:03
Compare
Choose a tag to compare
V1.0.0

add warning