diff --git a/django_rest/test_app/forms.py b/django_rest/test_app/forms.py index e82dbfecdf329aebc4b3dfdeacc415d994ff220d..f9eef05caf2f093518656b18b66dcf016092b0ee 100644 --- a/django_rest/test_app/forms.py +++ b/django_rest/test_app/forms.py @@ -19,10 +19,10 @@ class ApiSendForm(forms.Form): widget=forms.Textarea(attrs={'rows': '6'}), help_text='Optional URL get param to append to URL.', ) - header_token = forms.CharField( + header_params = forms.CharField( required=False, widget=forms.Textarea(attrs={'rows': '6'}), - help_text='Optional token to put into request header, such as required for API authentication.' + help_text='Optional dict of data to put into request header, such as values required for API authentication.' ) payload = forms.CharField( required=False, diff --git a/django_rest/test_app/templates/test_app/api_send.html b/django_rest/test_app/templates/test_app/api_send.html index f0e098e84936ab15eb9c2eb580e5cdfeaba345e8..21366f7ff0fe090aeaae0486a219299f37c60b1b 100644 --- a/django_rest/test_app/templates/test_app/api_send.html +++ b/django_rest/test_app/templates/test_app/api_send.html @@ -305,10 +305,10 @@ <div class="field-group"> <div class="label"> <p> - Header Token: + Header Params: </p> </div> - <pre>MyExampleHeaderAuthToken-112233445566778899ABABCDCD</pre> + <pre>{"Testing": "Test"}</pre> </div> <div class="field-group"> <div class="label"> @@ -331,7 +331,7 @@ header: { "Accept": "application/json", - "token": "MyExampleHeaderAuthToken-112233445566778899ABABCDCD" + "Testing": "Test" } data: { diff --git a/django_rest/test_app/views.py b/django_rest/test_app/views.py index 8533ff4f1ada9c15643a3439013016a2c7316a57..965a32280a7fe621b55d6ec933e4a03e28fa7442 100644 --- a/django_rest/test_app/views.py +++ b/django_rest/test_app/views.py @@ -359,7 +359,7 @@ def api_send(request): url = str(form.cleaned_data['url']).strip() get_params = str(form.cleaned_data.get('get_params', '')).strip() - header_token = str(form.cleaned_data.get('header_token', '')).strip() + header_params = str(form.cleaned_data.get('header_params', '')).strip() payload = str(form.cleaned_data.get('payload', '{}')).strip() if len(payload) > 0: try: @@ -386,8 +386,17 @@ def api_send(request): # Determine header values. headers = {'Accept': 'application/json'} - if header_token: - headers['token'] = header_token + if len(header_params) > 0: + try: + header_params = json.loads(header_params) + headers.update(header_params) + except json.decoder.JSONDecodeError: + has_error = True + payload = {} + form.add_error( + 'header_params', + 'Unrecognized/invalid JSON syntax. Please double check syntax and try again.', + ) # Determine data values. if payload: diff --git a/django_v2/test_app/forms.py b/django_v2/test_app/forms.py index 5af503800cb72cf39a04191b5545e66f85b983c2..f5d8861284e45cd7d2feac59b05cc869f701e928 100644 --- a/django_v2/test_app/forms.py +++ b/django_v2/test_app/forms.py @@ -19,10 +19,10 @@ class ApiSendForm(forms.Form): widget=forms.Textarea(attrs={'rows': '6'}), help_text='Optional URL get param to append to URL.', ) - header_token = forms.CharField( + header_params = forms.CharField( required=False, widget=forms.Textarea(attrs={'rows': '6'}), - help_text='Optional token to put into request header, such as required for API authentication.' + help_text='Optional dict of data to put into request header, such as values required for API authentication.' ) payload = forms.CharField( required=False, diff --git a/django_v2/test_app/templates/test_app/api_send.html b/django_v2/test_app/templates/test_app/api_send.html index 25b181111ae14ef60edf8c879fe3e2bb26176b02..43ef7aa0666b085f275461b6716b9a8d783865a6 100644 --- a/django_v2/test_app/templates/test_app/api_send.html +++ b/django_v2/test_app/templates/test_app/api_send.html @@ -305,10 +305,10 @@ <div class="field-group"> <div class="label"> <p> - Header Token: + Header Params: </p> </div> - <pre>MyExampleHeaderAuthToken-112233445566778899ABABCDCD</pre> + <pre>{"Testing": "Test"}</pre> </div> <div class="field-group"> <div class="label"> @@ -331,7 +331,7 @@ header: { "Accept": "application/json", - "token": "MyExampleHeaderAuthToken-112233445566778899ABABCDCD" + "Testing": "Test" } data: { diff --git a/django_v2/test_app/views.py b/django_v2/test_app/views.py index 34432df4e0fd1d2e2bf45861fe9c757766d68c05..3168a94d36d5d12634969d0b164923ae907dee86 100644 --- a/django_v2/test_app/views.py +++ b/django_v2/test_app/views.py @@ -352,7 +352,7 @@ def api_send(request): url = str(form.cleaned_data['url']).strip() get_params = str(form.cleaned_data.get('get_params', '')).strip() - header_token = str(form.cleaned_data.get('header_token', '')).strip() + header_params = str(form.cleaned_data.get('header_params', '')).strip() payload = str(form.cleaned_data.get('payload', '{}')).strip() if len(payload) > 0: try: @@ -379,8 +379,17 @@ def api_send(request): # Determine header values. headers = {'Accept': 'application/json'} - if header_token: - headers['token'] = header_token + if len(header_params) > 0: + try: + header_params = json.loads(header_params) + headers.update(header_params) + except json.decoder.JSONDecodeError: + has_error = True + payload = {} + form.add_error( + 'header_params', + 'Unrecognized/invalid JSON syntax. Please double check syntax and try again.', + ) # Determine data values. if payload: diff --git a/django_v3/test_app/forms.py b/django_v3/test_app/forms.py index 85e2b4e6990d8f4a602e131eb2fa29d185712f0e..55dba438c132559cae714717f6d26c742916b9aa 100644 --- a/django_v3/test_app/forms.py +++ b/django_v3/test_app/forms.py @@ -19,10 +19,10 @@ class ApiSendForm(forms.Form): widget=forms.Textarea(attrs={'rows': '6'}), help_text='Optional URL get param to append to URL.', ) - header_token = forms.CharField( + header_params = forms.CharField( required=False, widget=forms.Textarea(attrs={'rows': '6'}), - help_text='Optional token to put into request header, such as required for API authentication.' + help_text='Optional dict of data to put into request header, such as values required for API authentication.' ) payload = forms.CharField( required=False, diff --git a/django_v3/test_app/templates/test_app/api_send.html b/django_v3/test_app/templates/test_app/api_send.html index 48d1b13bed96007f8adc4087a8b970445393d15c..6e4c3cdc56d8040829e2e0e08b410a81f65b92f6 100644 --- a/django_v3/test_app/templates/test_app/api_send.html +++ b/django_v3/test_app/templates/test_app/api_send.html @@ -305,10 +305,10 @@ <div class="field-group"> <div class="label"> <p> - Header Token: + Header Params: </p> </div> - <pre>MyExampleHeaderAuthToken-112233445566778899ABABCDCD</pre> + <pre>{"Testing": "Test"}</pre> </div> <div class="field-group"> <div class="label"> @@ -331,7 +331,7 @@ header: { "Accept": "application/json", - "token": "MyExampleHeaderAuthToken-112233445566778899ABABCDCD" + "Testing": "Test" } data: { diff --git a/django_v3/test_app/views.py b/django_v3/test_app/views.py index fecc3045a02924e722e133aa6093749cf63da836..adb94d472e0b37264f60bf773593ee8b820d81ec 100644 --- a/django_v3/test_app/views.py +++ b/django_v3/test_app/views.py @@ -352,7 +352,7 @@ def api_send(request): url = str(form.cleaned_data['url']).strip() get_params = str(form.cleaned_data.get('get_params', '')).strip() - header_token = str(form.cleaned_data.get('header_token', '')).strip() + header_params = str(form.cleaned_data.get('header_params', '')).strip() payload = str(form.cleaned_data.get('payload', '{}')).strip() if len(payload) > 0: try: @@ -379,8 +379,17 @@ def api_send(request): # Determine header values. headers = {'Accept': 'application/json'} - if header_token: - headers['token'] = header_token + if len(header_params) > 0: + try: + header_params = json.loads(header_params) + headers.update(header_params) + except json.decoder.JSONDecodeError: + has_error = True + payload = {} + form.add_error( + 'header_params', + 'Unrecognized/invalid JSON syntax. Please double check syntax and try again.', + ) # Determine data values. if payload: diff --git a/django_v4/test_app/forms.py b/django_v4/test_app/forms.py index 85e2b4e6990d8f4a602e131eb2fa29d185712f0e..55dba438c132559cae714717f6d26c742916b9aa 100644 --- a/django_v4/test_app/forms.py +++ b/django_v4/test_app/forms.py @@ -19,10 +19,10 @@ class ApiSendForm(forms.Form): widget=forms.Textarea(attrs={'rows': '6'}), help_text='Optional URL get param to append to URL.', ) - header_token = forms.CharField( + header_params = forms.CharField( required=False, widget=forms.Textarea(attrs={'rows': '6'}), - help_text='Optional token to put into request header, such as required for API authentication.' + help_text='Optional dict of data to put into request header, such as values required for API authentication.' ) payload = forms.CharField( required=False, diff --git a/django_v4/test_app/templates/test_app/api_send.html b/django_v4/test_app/templates/test_app/api_send.html index 48d1b13bed96007f8adc4087a8b970445393d15c..6e4c3cdc56d8040829e2e0e08b410a81f65b92f6 100644 --- a/django_v4/test_app/templates/test_app/api_send.html +++ b/django_v4/test_app/templates/test_app/api_send.html @@ -305,10 +305,10 @@ <div class="field-group"> <div class="label"> <p> - Header Token: + Header Params: </p> </div> - <pre>MyExampleHeaderAuthToken-112233445566778899ABABCDCD</pre> + <pre>{"Testing": "Test"}</pre> </div> <div class="field-group"> <div class="label"> @@ -331,7 +331,7 @@ header: { "Accept": "application/json", - "token": "MyExampleHeaderAuthToken-112233445566778899ABABCDCD" + "Testing": "Test" } data: { diff --git a/django_v4/test_app/views.py b/django_v4/test_app/views.py index 39b125f210ebd552f1ed9849efa79246cfd44b20..81920d08040d324b2797e7a7697465fe1cc0ca8e 100644 --- a/django_v4/test_app/views.py +++ b/django_v4/test_app/views.py @@ -352,7 +352,7 @@ def api_send(request): url = str(form.cleaned_data['url']).strip() get_params = str(form.cleaned_data.get('get_params', '')).strip() - header_token = str(form.cleaned_data.get('header_token', '')).strip() + header_params = str(form.cleaned_data.get('header_params', '')).strip() payload = str(form.cleaned_data.get('payload', '{}')).strip() if len(payload) > 0: try: @@ -379,8 +379,17 @@ def api_send(request): # Determine header values. headers = {'Accept': 'application/json'} - if header_token: - headers['token'] = header_token + if len(header_params) > 0: + try: + header_params = json.loads(header_params) + headers.update(header_params) + except json.decoder.JSONDecodeError: + has_error = True + payload = {} + form.add_error( + 'header_params', + 'Unrecognized/invalid JSON syntax. Please double check syntax and try again.', + ) # Determine data values. if payload: diff --git a/django_v5/test_app/forms.py b/django_v5/test_app/forms.py index fa7b3617b4dd5423c89119d60bcebc59d19e5c12..54d8e100c9fd217fca3d387d9afda8d5f0e97e49 100644 --- a/django_v5/test_app/forms.py +++ b/django_v5/test_app/forms.py @@ -19,10 +19,10 @@ class ApiSendForm(forms.Form): widget=forms.Textarea(attrs={'rows': '6'}), help_text='Optional URL get param to append to URL.', ) - header_token = forms.CharField( + header_params = forms.CharField( required=False, widget=forms.Textarea(attrs={'rows': '6'}), - help_text='Optional token to put into request header, such as required for API authentication.' + help_text='Optional dict of data to put into request header, such as values required for API authentication.' ) payload = forms.CharField( required=False, diff --git a/django_v5/test_app/templates/test_app/api_send.html b/django_v5/test_app/templates/test_app/api_send.html index 43bf8ef72ea928205af3ce83e54a622ee2718d1f..8dc577fa8f8d584c3cfa7f951b865a1abf4e6338 100644 --- a/django_v5/test_app/templates/test_app/api_send.html +++ b/django_v5/test_app/templates/test_app/api_send.html @@ -305,10 +305,10 @@ <div class="field-group"> <div class="label"> <p> - Header Token: + Header Params: </p> </div> - <pre>MyExampleHeaderAuthToken-112233445566778899ABABCDCD</pre> + <pre>{"Testing": "Test"}</pre> </div> <div class="field-group"> <div class="label"> @@ -331,7 +331,7 @@ header: { "Accept": "application/json", - "token": "MyExampleHeaderAuthToken-112233445566778899ABABCDCD" + "Testing": "Test" } data: { diff --git a/django_v5/test_app/views.py b/django_v5/test_app/views.py index 2a7d013faa4b8dee27619f368395359d7f7cece1..d44e6c7f311e938b216eed7334fb514c514af6d5 100644 --- a/django_v5/test_app/views.py +++ b/django_v5/test_app/views.py @@ -352,7 +352,7 @@ def api_send(request): url = str(form.cleaned_data['url']).strip() get_params = str(form.cleaned_data.get('get_params', '')).strip() - header_token = str(form.cleaned_data.get('header_token', '')).strip() + header_params = str(form.cleaned_data.get('header_params', '')).strip() payload = str(form.cleaned_data.get('payload', '{}')).strip() if len(payload) > 0: try: @@ -379,8 +379,16 @@ def api_send(request): # Determine header values. headers = {'Accept': 'application/json'} - if header_token: - headers['token'] = header_token + if len(payload) > 0: + try: + payload = json.loads(payload) + except json.decoder.JSONDecodeError: + has_error = True + payload = {} + form.add_error( + 'payload', + 'Unrecognized/invalid JSON syntax. Please double check syntax and try again.', + ) # Determine data values. if payload: