- Using RESTx
- Client API and Libraries
- Command and control
RESTx release notes
RESTx 0.9.4 release notes
The following features have been implemented for the 0.9.4 release of RESTx:
Proper handling of media types for input and output: A component's service methods can now declare the input and output media types they wish to accept/support. RESTx automatically performs all content negotiation with the client on behalf of the component, which means the component author can focus on other things. The allowable input media types and supported output types are shown in the automatically created RESTful API for the component and all its resources.
Miscellaneous fixes and improvements: Smaller bug fixes, improved exception handling and some cleanup.
RESTx 0.9.2 release notes
The following features have been implemented for the 0.9.2 release of RESTx:
Specialized components: It is now possible to create specialized components. These are in effect partially defined resources, which - like components - can be used to create new resources. For example: A database access component may take a DB connection string and a query string as parameters during resource creation time. It is now possible for IT to create a specialized component resource by providing the DB connection string only. Users can then use this specialized component to create their resources. They may specify the query string, but the DB connection string is fixed and cannot be modified by the users. This is a great way for IT to quickly provide access to a number of resources, hiding parameters that are not relevant to users, while still allowing users to set the parameters they require.
Improved component import and control: The creation, import and handling of components has been greatly improved. It is now possible to use the restxctl script to not only create new components, but also to temporarily disable or enable them or to delete them and all related resources. Furthermore, components can be located in any directory or module and are not confined to the default locations anymore. The restxctl script also can show a list of all available components, their implementation language, their module and whether they are currently enabled.
Improvements to the component API: It is now possible for components to create new resources, using the makeResource() method. Furthermore, when making HTTP requests using the httpGet() or httpPost() methods, a timeout can now be specified. This is utilized by the new Failover component, which is provided with RESTx and which sequentially retries a number of URIs to receive data, using configurable timeouts.
Deployment behind proxy: RESTx can now be deployed behind a proxy front end. For example - assuming RESTx listens on port 8001 - a proxy may be configured to direct all queries for http://localhost/some_path to http://localhost:8001/some_path. This has a number of benefits: (1) the proxy front end may be used to effectively serve static content. (2) it may be used to provide SSL connectivity for clients. (3) path based access control can be implemented in the front end. To use this feature, just set the DOCUMENT_ROOT variable in $RESTX_HOME/src/python/settings.py.
Handling of form data: Parameters or input for components' service methods can now be provided by POSTing JSON or simple HTML form data. Previously, run-time parameters only could be set on the URI command line and input to a method was not interpreted at all. But now - if so requested - a component's service method may accept values for its parameters also by POSTing data in those two content types. Likewise, input in those content types is converted to proper objects of the component's implementation language.
Miscellaneous fixes and improvements: A number of smaller performance improvements, bug fixes, improved exception handling and some cleanup.