33
44from fastapi import FastAPI , Header , HTTPException , Query , Request , status
55from fastapi .middleware .cors import CORSMiddleware
6- from fastapi .responses import HTMLResponse , RedirectResponse , Response , UJSONResponse
6+ from fastapi .responses import HTMLResponse , JSONResponse , RedirectResponse , Response
77from pydantic import BaseModel , Field
88from slowapi import Limiter , _rate_limit_exceeded_handler
99from slowapi .errors import RateLimitExceeded
@@ -165,7 +165,7 @@ async def bot() -> Response:
165165
166166 Returns a message when accessed by suspicious user agents.
167167 """
168- return UJSONResponse ({'bot' : 'These are not the DNS records you are looking for' })
168+ return JSONResponse ({'bot' : 'These are not the DNS records you are looking for' })
169169
170170
171171class CapabilitiesResponse (BaseModel ):
@@ -204,12 +204,12 @@ async def get_capabilities(request: Request) -> Response:
204204 'cache_snoop - DNS cache snooping' ,
205205 'nxdomain_hijack - NXDOMAIN hijacking check' ,
206206 ]
207- return UJSONResponse ({'capabilities' : capabilities })
207+ return JSONResponse ({'capabilities' : capabilities })
208208 except Exception as e :
209209 error_traceback = traceback .format_exc ()
210210 print (f'Error in get_capabilities endpoint: { e !s} \n { error_traceback } ' )
211211
212- return UJSONResponse (
212+ return JSONResponse (
213213 {
214214 'detail' : f'An error occurred while retrieving capabilities: { e !s} ' ,
215215 'error_type' : type (e ).__name__ ,
@@ -309,7 +309,7 @@ async def general_enumeration(
309309 if name and name != domain :
310310 subdomains .append (name )
311311
312- return UJSONResponse (
312+ return JSONResponse (
313313 {
314314 'domain' : domain ,
315315 'records' : [record .model_dump () for record in records ],
@@ -324,7 +324,7 @@ async def general_enumeration(
324324 error_traceback = traceback .format_exc ()
325325 print (f'Error in general_enumeration endpoint: { e !s} \n { error_traceback } ' )
326326
327- return UJSONResponse (
327+ return JSONResponse (
328328 {
329329 'detail' : f'An error occurred while processing your request: { e !s} ' ,
330330 'error_type' : type (e ).__name__ ,
@@ -407,7 +407,7 @@ async def brute_force_domain(
407407 if name :
408408 subdomains .append (name )
409409
410- return UJSONResponse (
410+ return JSONResponse (
411411 {'domain' : domain , 'subdomains' : list (set (subdomains )), 'records' : [record .model_dump () for record in records ]}
412412 )
413413
@@ -417,7 +417,7 @@ async def brute_force_domain(
417417 error_traceback = traceback .format_exc ()
418418 print (f'Error in brute_force_domain endpoint: { e !s} \n { error_traceback } ' )
419419
420- return UJSONResponse (
420+ return JSONResponse (
421421 {
422422 'detail' : f'An error occurred while processing your request: { e !s} ' ,
423423 'error_type' : type (e ).__name__ ,
@@ -485,15 +485,15 @@ async def brute_force_reverse(
485485
486486 records .append (DnsRecord (name = name , type = 'PTR' , address = address ))
487487
488- return UJSONResponse ({'ip_range' : ip_range , 'records' : [record .model_dump () for record in records ]})
488+ return JSONResponse ({'ip_range' : ip_range , 'records' : [record .model_dump () for record in records ]})
489489
490490 except HTTPException as e :
491491 raise e
492492 except Exception as e :
493493 error_traceback = traceback .format_exc ()
494494 print (f'Error in brute_force_reverse endpoint: { e !s} \n { error_traceback } ' )
495495
496- return UJSONResponse (
496+ return JSONResponse (
497497 {
498498 'detail' : f'An error occurred while processing your request: { e !s} ' ,
499499 'error_type' : type (e ).__name__ ,
@@ -542,15 +542,15 @@ async def wildcard_check(
542542 if not wildcard_ips :
543543 wildcard_ips = []
544544
545- return UJSONResponse ({'domain' : domain , 'wildcard_enabled' : wildcard_enabled , 'wildcard_ips' : wildcard_ips })
545+ return JSONResponse ({'domain' : domain , 'wildcard_enabled' : wildcard_enabled , 'wildcard_ips' : wildcard_ips })
546546
547547 except HTTPException as e :
548548 raise e
549549 except Exception as e :
550550 error_traceback = traceback .format_exc ()
551551 print (f'Error in wildcard_check endpoint: { e !s} \n { error_traceback } ' )
552552
553- return UJSONResponse (
553+ return JSONResponse (
554554 {
555555 'detail' : f'An error occurred while processing your request: { e !s} ' ,
556556 'error_type' : type (e ).__name__ ,
@@ -616,15 +616,15 @@ async def brute_force_srv(
616616
617617 srv_records .append (DnsRecord (name = name , type = record_type , address = address , target = target , port = port ))
618618
619- return UJSONResponse ({'domain' : domain , 'srv_records' : [record .model_dump () for record in srv_records ]})
619+ return JSONResponse ({'domain' : domain , 'srv_records' : [record .model_dump () for record in srv_records ]})
620620
621621 except HTTPException as e :
622622 raise e
623623 except Exception as e :
624624 error_traceback = traceback .format_exc ()
625625 print (f'Error in brute_force_srv endpoint: { e !s} \n { error_traceback } ' )
626626
627- return UJSONResponse (
627+ return JSONResponse (
628628 {
629629 'detail' : f'An error occurred while processing your request: { e !s} ' ,
630630 'error_type' : type (e ).__name__ ,
@@ -688,15 +688,15 @@ async def brute_force_tlds(
688688
689689 tld_records .append (DnsRecord (name = name , type = record_type , address = address ))
690690
691- return UJSONResponse ({'domain' : domain , 'tld_records' : [record .model_dump () for record in tld_records ]})
691+ return JSONResponse ({'domain' : domain , 'tld_records' : [record .model_dump () for record in tld_records ]})
692692
693693 except HTTPException as e :
694694 raise e
695695 except Exception as e :
696696 error_traceback = traceback .format_exc ()
697697 print (f'Error in brute_force_tlds endpoint: { e !s} \n { error_traceback } ' )
698698
699- return UJSONResponse (
699+ return JSONResponse (
700700 {
701701 'detail' : f'An error occurred while processing your request: { e !s} ' ,
702702 'error_type' : type (e ).__name__ ,
@@ -763,7 +763,7 @@ async def axfr_test(
763763
764764 records .append (DnsRecord (name = name , type = record_type , address = address , target = target ))
765765
766- return UJSONResponse (
766+ return JSONResponse (
767767 {
768768 'domain' : domain ,
769769 'zone_transfer_successful' : zone_transfer_successful ,
@@ -777,7 +777,7 @@ async def axfr_test(
777777 error_traceback = traceback .format_exc ()
778778 print (f'Error in axfr_test endpoint: { e !s} \n { error_traceback } ' )
779779
780- return UJSONResponse (
780+ return JSONResponse (
781781 {
782782 'detail' : f'An error occurred while processing your request: { e !s} ' ,
783783 'error_type' : type (e ).__name__ ,
@@ -836,15 +836,15 @@ async def caa_records(
836836
837837 caa_records_list .append (DnsRecord (name = name , type = record_type , address = value ))
838838
839- return UJSONResponse ({'domain' : domain , 'caa_records' : [record .model_dump () for record in caa_records_list ]})
839+ return JSONResponse ({'domain' : domain , 'caa_records' : [record .model_dump () for record in caa_records_list ]})
840840
841841 except HTTPException as e :
842842 raise e
843843 except Exception as e :
844844 error_traceback = traceback .format_exc ()
845845 print (f'Error in caa_records endpoint: { e !s} \n { error_traceback } ' )
846846
847- return UJSONResponse (
847+ return JSONResponse (
848848 {
849849 'detail' : f'An error occurred while processing your request: { e !s} ' ,
850850 'error_type' : type (e ).__name__ ,
@@ -921,15 +921,15 @@ async def cache_snoop(
921921
922922 cached_records .append (DnsRecord (name = name , type = record_type , address = address ))
923923
924- return UJSONResponse ({'nameserver' : nameserver , 'cached_records' : [record .model_dump () for record in cached_records ]})
924+ return JSONResponse ({'nameserver' : nameserver , 'cached_records' : [record .model_dump () for record in cached_records ]})
925925
926926 except HTTPException as e :
927927 raise e
928928 except Exception as e :
929929 error_traceback = traceback .format_exc ()
930930 print (f'Error in cache_snoop endpoint: { e !s} \n { error_traceback } ' )
931931
932- return UJSONResponse (
932+ return JSONResponse (
933933 {
934934 'detail' : f'An error occurred while processing your request: { e !s} ' ,
935935 'error_type' : type (e ).__name__ ,
@@ -993,15 +993,15 @@ async def zone_walk(
993993
994994 zone_walk_records .append (DnsRecord (name = name , type = record_type , address = address , target = target ))
995995
996- return UJSONResponse ({'domain' : domain , 'zone_walk_records' : [record .model_dump () for record in zone_walk_records ]})
996+ return JSONResponse ({'domain' : domain , 'zone_walk_records' : [record .model_dump () for record in zone_walk_records ]})
997997
998998 except HTTPException as e :
999999 raise e
10001000 except Exception as e :
10011001 error_traceback = traceback .format_exc ()
10021002 print (f'Error in zone_walk endpoint: { e !s} \n { error_traceback } ' )
10031003
1004- return UJSONResponse (
1004+ return JSONResponse (
10051005 {
10061006 'detail' : f'An error occurred while processing your request: { e !s} ' ,
10071007 'error_type' : type (e ).__name__ ,
@@ -1057,15 +1057,15 @@ async def bind_version(
10571057 version_detected = bool (version_info )
10581058 bind_version = version_info if version_info else 'Version not detected'
10591059
1060- return UJSONResponse ({'nameserver' : nameserver , 'bind_version' : bind_version , 'version_detected' : version_detected })
1060+ return JSONResponse ({'nameserver' : nameserver , 'bind_version' : bind_version , 'version_detected' : version_detected })
10611061
10621062 except HTTPException as e :
10631063 raise e
10641064 except Exception as e :
10651065 error_traceback = traceback .format_exc ()
10661066 print (f'Error in bind_version endpoint: { e !s} \n { error_traceback } ' )
10671067
1068- return UJSONResponse (
1068+ return JSONResponse (
10691069 {
10701070 'detail' : f'An error occurred while processing your request: { e !s} ' ,
10711071 'error_type' : type (e ).__name__ ,
@@ -1121,15 +1121,15 @@ async def recursive_check(
11211121 recursive_enabled = bool (recursion_result )
11221122 test_result = recursion_result if recursion_result else 'Recursion not enabled or test failed'
11231123
1124- return UJSONResponse ({'nameserver' : nameserver , 'recursive_enabled' : recursive_enabled , 'test_result' : test_result })
1124+ return JSONResponse ({'nameserver' : nameserver , 'recursive_enabled' : recursive_enabled , 'test_result' : test_result })
11251125
11261126 except HTTPException as e :
11271127 raise e
11281128 except Exception as e :
11291129 error_traceback = traceback .format_exc ()
11301130 print (f'Error in recursive_check endpoint: { e !s} \n { error_traceback } ' )
11311131
1132- return UJSONResponse (
1132+ return JSONResponse (
11331133 {
11341134 'detail' : f'An error occurred while processing your request: { e !s} ' ,
11351135 'error_type' : type (e ).__name__ ,
@@ -1181,15 +1181,15 @@ async def nxdomain_hijack(
11811181 hijack_detected = bool (hijack_result )
11821182 hijack_details = hijack_result if hijack_result else 'No NXDOMAIN hijacking detected'
11831183
1184- return UJSONResponse ({'nameserver' : nameserver , 'hijack_detected' : hijack_detected , 'hijack_details' : hijack_details })
1184+ return JSONResponse ({'nameserver' : nameserver , 'hijack_detected' : hijack_detected , 'hijack_details' : hijack_details })
11851185
11861186 except HTTPException as e :
11871187 raise e
11881188 except Exception as e :
11891189 error_traceback = traceback .format_exc ()
11901190 print (f'Error in nxdomain_hijack endpoint: { e !s} \n { error_traceback } ' )
11911191
1192- return UJSONResponse (
1192+ return JSONResponse (
11931193 {
11941194 'detail' : f'An error occurred while processing your request: { e !s} ' ,
11951195 'error_type' : type (e ).__name__ ,
0 commit comments