MCPcopy Index your code
hub / github.com/hugapi/hug / render_content

Method render_content

hug/interface.py:841–876  ·  view source on GitHub ↗
(self, content, context, request, response, **kwargs)

Source from the content-addressed store, hash-verified

839 return self.interface(**parameters)
840
841 def render_content(self, content, context, request, response, **kwargs):
842 if hasattr(content, "interface") and (
843 content.interface is True or hasattr(content.interface, "http")
844 ):
845 if content.interface is True:
846 content(request, response, api_version=None, **kwargs)
847 else:
848 content.interface.http(request, response, api_version=None, **kwargs)
849 return
850
851 content = self.transform_data(content, request, response, context)
852 content = self.outputs(
853 content, **self._arguments(self._params_for_outputs, request, response)
854 )
855 if hasattr(content, "read"):
856 size = None
857 if hasattr(content, "name") and os.path.isfile(content.name):
858 size = os.path.getsize(content.name)
859 if request.range and size:
860 start, end = request.range
861 if end < 0:
862 end = size + end
863 end = min(end, size)
864 length = end - start + 1
865 content.seek(start)
866 response.data = content.read(length)
867 response.status = falcon.HTTP_206
868 response.content_range = (start, end, size)
869 content.close()
870 else:
871 if size:
872 response.set_stream(content, size)
873 else:
874 response.stream = content # pragma: no cover
875 else:
876 response.data = content
877
878 def __call__(self, request, response, api_version=None, **kwargs):
879 context = self.api.context_factory(

Callers 2

__call__Method · 0.95
requestMethod · 0.80

Calls 4

transform_dataMethod · 0.95
outputsMethod · 0.95
_argumentsMethod · 0.95
httpMethod · 0.45

Tested by

no test coverage detected