Exceptions¶
Exception classes that map to Gemini status codes. Raise these exceptions in your handlers to return specific status codes.
Base Exception¶
GeminiException
¶
Bases: Exception
Base exception for Gemini error responses.
Subclasses define specific status codes for different error types. Raise these in handlers to return the appropriate Gemini status.
Example
@app.gemini("/page/{page_id}") def get_page(request: Request, page_id: int): page = db.get(page_id) if not page: raise NotFound(f"Page {page_id} not found") return page.content
Source code in src/xitzin/exceptions.py
Input Required (1x)¶
InputRequired
¶
Bases: GeminiException
Request requires user input (status 10).
Source code in src/xitzin/exceptions.py
SensitiveInputRequired
¶
Bases: GeminiException
Request requires sensitive user input (status 11).
Source code in src/xitzin/exceptions.py
Temporary Failures (4x)¶
TemporaryFailure
¶
Bases: GeminiException
Temporary failure - client may retry (status 40).
Source code in src/xitzin/exceptions.py
ServerUnavailable
¶
Bases: GeminiException
Server unavailable due to maintenance or overload (status 41).
Source code in src/xitzin/exceptions.py
CGIError
¶
Bases: GeminiException
CGI or similar process error (status 42).
Source code in src/xitzin/exceptions.py
ProxyError
¶
SlowDown
¶
Bases: GeminiException
Rate limiting - client should slow down (status 44).
Source code in src/xitzin/exceptions.py
Permanent Failures (5x)¶
PermanentFailure
¶
Bases: GeminiException
Permanent failure - client should not retry (status 50).
Source code in src/xitzin/exceptions.py
NotFound
¶
Gone
¶
Bases: GeminiException
Resource permanently removed (status 52).
Source code in src/xitzin/exceptions.py
ProxyRequestRefused
¶
BadRequest
¶
Client Certificate (6x)¶
CertificateRequired
¶
Bases: GeminiException
Client certificate required (status 60).
Source code in src/xitzin/exceptions.py
CertificateNotAuthorized
¶
Bases: GeminiException
Certificate not authorized for this resource (status 61).
Source code in src/xitzin/exceptions.py
CertificateNotValid
¶
Bases: GeminiException
Certificate is not valid (status 62).