Skip to content

HTTP Utilities

These helpers simplify working with request metadata and standardized API responses.

Module: drf_corekit.http.requests

Utilities for extracting information from incoming requests.

get_current_site_info(request)

Returns site metadata for the current request.

Returns

(site_name: str, site_domain: str, protocol: str)

Behavior

  • Protocol is:
  • http if DEBUG=True
  • https otherwise

Example

name, domain, protocol = get_current_site_info(request)

get_client_ip(request)

Extracts the client IP address, respecting proxy headers.

Priority

  1. HTTP_X_FORWARDED_FOR (first IP)
  2. REMOTE_ADDR

Returns

str | None

Example

ip = get_client_ip(request)

get_request_txid(request)

Retrieves request transaction ID if available.

This assumes a middleware has attached request.transaction_id.

Returns:

str | None

Example

txid = get_request_txid(request)

Responses

Standardized API response wrappers.

Module: drf_corekit.http.responses

Ensures consistent response structure across all APIs.

wrap_success_response(data=None, status_code=200)

Wraps successful API responses in a consistent envelope.

Response format

{
  "data": "...",
  "errors": null
}

Parameters

  • data : Any serializable payload
  • status_code : HTTP status code (default: 200)

Returns

rest_framework.response.Response

Example

return wrap_success_response({"id": 1, "name": "Abu"})