
This is a first pass at a non-breaking change that'll allow for a customizable media handling system. This approach combines many of the suggestions brought up by the community in #145. One the thing that is left out of this PR is handling full content negotiation (i.e. connecting the request's accept header to the response's content-type). Unfortunately, this is a harder problem to solve in a backwards compatible fashion that doesn't affect performance. However, especially as we move towards v2, I think that would be a great opportunity to revisit full negotiation. In the meantime, there are several easy workarounds for people needing this functionality. Closes #145
14 lines
268 B
Python
14 lines
268 B
Python
import pytest
|
|
|
|
from falcon import media
|
|
|
|
|
|
def test_base_handler_contract():
|
|
class TestHandler(media.BaseHandler):
|
|
pass
|
|
|
|
with pytest.raises(TypeError) as err:
|
|
TestHandler()
|
|
|
|
assert 'abstract methods deserialize, serialize' in str(err.value)
|