Перейти к содержанию

Ответ (Response)

Hius использует оригинальные объекты ответа из Starlette, однако для единообразия, импортировать их можно следующим образом:

from hius.responses import PlainTextResponse, ...

Ознакомится с ними можно в документации родительской библиотеки.

HTTP ошибки

Если вам нужно вернуть клиенту определённый HTTP код с его стандартным описанием, вы можете импортировать вспомогательный класс и возбудить исключение в любом месте в процессе обработки запроса.

from hius.httpcodes import HTTPUnauthorized
from hius.responses import PlainTextResponse


def handler(request, password: str):
    if password != 'super_password':
        raise HTTPUnauthorized()
    return PlainTextResponse('Allowed')

Ниже приведен список существующих шаблонов ответов.

  • 200 - HTTPOk
  • 201 - HTTPCreated
  • 202 - HTTPAccepted
  • 203 - HTTPNonAuthoritativeInformation
  • 204 - HTTPNoContent
  • 205 - HTTPResetContent
  • 206 - HTTPPartialContent
  • 300 - HTTPMultipleChoices
  • 301 - HTTPExceptiondPermanently
  • 302 - HTTPFound
  • 303 - HTTPSeeOther
  • 304 - HTTPNotModified
  • 305 - HTTPUseProxy
  • 307 - HTTPTemporaryRedirect
  • 308 - HTTPPermanentRedirect
  • 400 - HTTPBadRequest
  • 401 - HTTPUnauthorized
  • 402 - HTTPPaymentRequired
  • 403 - HTTPForbidden
  • 404 - HTTPNotFound
  • 405 - HTTPMethodNotAllowed
  • 406 - HTTPNotAcceptable
  • 407 - HTTPProxyAuthenticationRequired
  • 408 - HTTPRequestTimeout
  • 409 - HTTPConflict
  • 410 - HTTPGone
  • 411 - HTTPLengthRequired
  • 412 - HTTPPreconditionFailed
  • 413 - HTTPRequestEntityTooLarge
  • 414 - HTTPRequestURITooLong
  • 415 - HTTPUnsupportedMediaType
  • 416 - HTTPRequestRangeNotSatisfiable
  • 417 - HTTPExpectationFailed
  • 421 - HTTPMisdirectedRequest
  • 422 - HTTPUnprocessableEntity
  • 424 - HTTPFailedDependency
  • 426 - HTTPUpgradeRequired
  • 428 - HTTPPreconditionRequired
  • 429 - HTTPTooManyRequests
  • 431 - HTTPRequestHeaderFieldsTooLarge
  • 451 - HTTPUnavailableForLegalReasons
  • 500 - HTTPInternalServerError
  • 501 - HTTPNotImplemented
  • 502 - HTTPBadGateway
  • 503 - HTTPServiceUnavailable
  • 504 - HTTPGatewayTimeout
  • 505 - HTTPVersionNotSupported
  • 506 - HTTPVariantAlsoNegotiates
  • 507 - HTTPInsufficientStorage
  • 510 - HTTPNotExtended
  • 511 - HTTPNetworkAuthenticationRequired
Back to top