def test_mapping(self): """extract_context() uses extractor matching content-type.""" output = {'a': 'AAA'} content_type = 'application/dummy' extractors = {content_type: self.extractor_factory(output)} request = self.request_factory(extractors, content_type) context = contextextractors.extract_context(request) self.assertEqual(context, output)
def post(self, request): resource = self.get_resource(request) try: context = extract_context(request) except NotImplementedError as e: raise HTTPNotImplemented(e.message) context['diecutter'] = { 'api_url': '%s://%s' % (request.environ['wsgi.url_scheme'], request.environ['HTTP_HOST']), 'version': VERSION, 'now': datetime.now()} if not resource.exists: return NotFound('Template not found') writers = self.get_writers(request, resource, context) dispatcher = self.get_dispatcher(request, resource, context, writers) response = dispatcher(request, resource, context) return response
def post(self, request): resource = self.get_resource(request) try: context = extract_context(request) except NotImplementedError as e: raise HTTPNotImplemented(e.message) context['diecutter'] = { 'api_url': '%s://%s' % (request.environ['wsgi.url_scheme'], request.environ['HTTP_HOST']), 'version': VERSION, 'now': datetime.now() } if not resource.exists: return NotFound('Template not found') writers = self.get_writers(request, resource, context) dispatcher = self.get_dispatcher(request, resource, context, writers) response = dispatcher(request, resource, context) return response