Log Message: |
rabbit: remove any static dependencies on the driver
With driver switching, we only have a driver for the duration of the
request. That means the request handlers that rabbit generates can not
depend on the features of a prticular driver at generation time. Instead,
those dependencies need to be taken into account when a request is
processed.
In particular, we need to generate handlers for all collections and their
operations, even if some drivers do not support them; at request time, we
check if the selected driver supports the collection/operation and generate
a 404 if it does not.
We also generate the complete list of parameters for an operation only at
request time (via effective_params); this is the list of parameters against
which we validate.
|