- Changed CompysitionEvent to Event and subclassed types using XML, JSON, and Http mixins or subclasses.
- Changed paradigm to no longer pass string values, but to rather pass complete data object references with each event subclass. This will prevent a lot of conversions between actors
- Added input/output validation on actor queue connection for actor compatibility checks. Also added a runtime check to verify that an event is indeed the expected event class that the actor needs
| NOTE: At this time, automatic conversion attempt occurs, with a logged warning. *This may change to a full exception in the future*
- Enhanced wsgi.py to handle content-types in routes definition, returning a 415 if content type on an incoming request does not match configuration for that route
- Mapped wsgi.py content types to their corresponding event subclass (JSONHttpEvent for 'application/json', etc)
- Created many exceptions in compysition.errors for various programming states. This was based originally off http codes and
| statuses that were relevant to programmatic states, but I wanted to decouple code from assuming an event was HTTP-based. Hence, thrown exceptions
- Added an additional check for uncaught exceptions on Actor.consume execution that will automatically route an event to error queues
| if an uncaught exception occurs
- Added 'register_error_actor' that will connect itself to all actors that DO NOT HAVE explicit error queues connected already
- Renamed several actors to more appropriate names.
| wsgi.Wsgi -> httpserver.HTTPServer
| xmlmatcher.XMLMatcher -> eventjoin.EventJoin
| transformer.Transformer -> xslt.XSLT
| xmlvalidator.XMLValidator -> xsd.XSD
| zmqpushpull -> zeromq
| testevent.TestEvent -> eventgenerator.EventGenerator
| udpeventgenerator -> eventgenerator
| cookietest -> cookie
- Multiple docstring updates
- Several test cases for actor input/output written. Not yet entirely complete, but a good start
Version