defrender(self,content:Any)->bytes:assertujsonisnotNone,"ujson must be installed to use UJSONResponse"returnujson.dumps(content,ensure_ascii=False).encode("utf-8")
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defrender(self,content:Any)->bytes:assertorjsonisnotNone,"orjson must be installed to use ORJSONResponse"returnorjson.dumps(content,option=orjson.OPT_NON_STR_KEYS|orjson.OPT_SERIALIZE_NUMPY)
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
def__init__(self,path:str|os.PathLike[str],status_code:int=200,headers:Mapping[str,str]|None=None,media_type:str|None=None,background:BackgroundTask|None=None,filename:str|None=None,stat_result:os.stat_result|None=None,method:str|None=None,content_disposition_type:str="attachment",)->None:self.path=pathself.status_code=status_codeself.filename=filenameifmethodisnotNone:warnings.warn("The 'method' parameter is not used, and it will be removed.",DeprecationWarning,)ifmedia_typeisNone:media_type=guess_type(filenameorpath)[0]or"text/plain"self.media_type=media_typeself.background=backgroundself.init_headers(headers)self.headers.setdefault("accept-ranges","bytes")ifself.filenameisnotNone:content_disposition_filename=quote(self.filename)ifcontent_disposition_filename!=self.filename:content_disposition=f"{content_disposition_type}; filename*=utf-8''{content_disposition_filename}"else:content_disposition=f'{content_disposition_type}; filename="{self.filename}"'self.headers.setdefault("content-disposition",content_disposition)self.stat_result=stat_resultifstat_resultisnotNone:self.set_stat_headers(stat_result)
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))
defset_cookie(self,key:str,value:str="",max_age:int|None=None,expires:datetime|str|int|None=None,path:str|None="/",domain:str|None=None,secure:bool=False,httponly:bool=False,samesite:Literal["lax","strict","none"]|None="lax",partitioned:bool=False,)->None:cookie:http.cookies.BaseCookie[str]=http.cookies.SimpleCookie()cookie[key]=valueifmax_ageisnotNone:cookie[key]["max-age"]=max_ageifexpiresisnotNone:ifisinstance(expires,datetime):cookie[key]["expires"]=format_datetime(expires,usegmt=True)else:cookie[key]["expires"]=expiresifpathisnotNone:cookie[key]["path"]=pathifdomainisnotNone:cookie[key]["domain"]=domainifsecure:cookie[key]["secure"]=Trueifhttponly:cookie[key]["httponly"]=TrueifsamesiteisnotNone:assertsamesite.lower()in["strict","lax","none",],"samesite must be either 'strict', 'lax' or 'none'"cookie[key]["samesite"]=samesiteifpartitioned:ifsys.version_info<(3,14):raiseValueError("Partitioned cookies are only supported in Python 3.14 and above.")# pragma: no covercookie[key]["partitioned"]=True# pragma: no covercookie_val=cookie.output(header="").strip()self.raw_headers.append((b"set-cookie",cookie_val.encode("latin-1")))