Skip to content

Commit 08b390e

Browse files
committed
Add fake authentication
1 parent 1a673ba commit 08b390e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

demo/api/views.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ def health(request):
4040

4141
@csrf_exempt
4242
def dev_list(request):
43+
if is_not_authenticated(request):
44+
return not_authenticated()
45+
4346
if request.method == "GET":
4447
newOpportunities = request.GET.get("newOpportunities")
4548
devs = filter_devs_by_new_opportunities(newOpportunities)
@@ -55,6 +58,9 @@ def dev_list(request):
5558

5659
@csrf_exempt
5760
def dev_details(request, identifier):
61+
if is_not_authenticated(request):
62+
return not_authenticated()
63+
5864
uuid = str(identifier)
5965
dev = get_dev(uuid)
6066
if request.method == "GET":
@@ -73,6 +79,9 @@ def dev_details(request, identifier):
7379

7480

7581
def dev_details_languages(request, identifier):
82+
if is_not_authenticated(request):
83+
return not_authenticated()
84+
7685
uuid = str(identifier)
7786
dev = get_dev(uuid)
7887
if request.method == "GET":
@@ -85,9 +94,22 @@ def dev_details_languages(request, identifier):
8594

8695

8796
def language_list(request):
97+
if is_not_authenticated(request):
98+
return not_authenticated()
99+
88100
return JsonResponse(["c", "go", "java", "python", "ruby"], safe=False)
89101

90102

103+
def is_not_authenticated(request):
104+
api_key = request.headers.get("x-api-key")
105+
106+
return api_key != "demoKEY123"
107+
108+
109+
def not_authenticated():
110+
return HttpResponse(f"Failed to authenticate", status=401)
111+
112+
91113
def filter_devs_by_new_opportunities(newOpportunities):
92114
if newOpportunities in ("False", "false", 0):
93115
return [dev for dev in DEVS if dev["newOpportunities"] == False]

0 commit comments

Comments
 (0)