MCPcopy
hub / github.com/encode/starlette / generate_html

Method generate_html

starlette/middleware/errors.py:224–244  ·  starlette/middleware/errors.py::ServerErrorMiddleware.generate_html
(self, exc: Exception, limit: int = 7)

Source from the content-addressed store, hash-verified

222 return FRAME_TEMPLATE.format(**values)
223
224 def generate_html(self, exc: Exception, limit: int = 7) -> str:
225 traceback_obj = traceback.TracebackException.from_exception(exc, capture_locals=True)
226
227 exc_html = class="st">""
228 is_collapsed = False
229 exc_traceback = exc.__traceback__
230 if exc_traceback is not None:
231 frames = inspect.getinnerframes(exc_traceback, limit)
232 for frame in reversed(frames):
233 exc_html += self.generate_frame_html(frame, is_collapsed)
234 is_collapsed = True
235
236 if sys.version_info >= (3, 13): class="cm"># pragma: no cover
237 exc_type_str = traceback_obj.exc_type_str
238 else: class="cm"># pragma: no cover
239 exc_type_str = traceback_obj.exc_type.__name__
240
241 class="cm"># escape error class and text
242 error = fclass="st">"{html.escape(exc_type_str)}: {html.escape(str(traceback_obj))}"
243
244 return TEMPLATE.format(styles=STYLES, js=JS, error=error, exc_html=exc_html)
245
246 def generate_plain_text(self, exc: Exception) -> str:
247 return class="st">"".join(traceback.format_exception(type(exc), exc, exc.__traceback__))

Callers 1

debug_responseMethod · 0.95

Calls 1

generate_frame_htmlMethod · 0.95

Tested by

no test coverage detected