 3495344ff4
			
		
	
	3495344ff4
	
	
	
		
			
			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)
 |