Fixes #3951: Fix exception in webhook worker due to missing constant

This commit is contained in:
Jeremy Stretch 2020-01-17 11:28:50 -05:00
parent 83427d5585
commit f15cde0275
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,11 @@
# v2.7.2 (FUTURE)
## Bug Fixes
* [#3951](https://github.com/netbox-community/netbox/issues/3951) - Fix exception in webhook worker due to missing constant
---
# v2.7.1 (2020-01-16) # v2.7.1 (2020-01-16)
## Bug Fixes ## Bug Fixes

View File

@ -6,8 +6,7 @@ import requests
from django_rq import job from django_rq import job
from rest_framework.utils.encoders import JSONEncoder from rest_framework.utils.encoders import JSONEncoder
from .choices import ObjectChangeActionChoices from .choices import ObjectChangeActionChoices, WebhookContentTypeChoices
from .constants import *
@job('default') @job('default')
@ -35,9 +34,9 @@ def process_webhook(webhook, data, model_name, event, timestamp, username, reque
'headers': headers 'headers': headers
} }
if webhook.http_content_type == WEBHOOK_CT_JSON: if webhook.http_content_type == WebhookContentTypeChoices.CONTENTTYPE_JSON:
params.update({'data': json.dumps(payload, cls=JSONEncoder)}) params.update({'data': json.dumps(payload, cls=JSONEncoder)})
elif webhook.http_content_type == WEBHOOK_CT_X_WWW_FORM_ENCODED: elif webhook.http_content_type == WebhookContentTypeChoices.CONTENTTYPE_FORMDATA:
params.update({'data': payload}) params.update({'data': payload})
prepared_request = requests.Request(**params).prepare() prepared_request = requests.Request(**params).prepare()
@ -61,5 +60,7 @@ def process_webhook(webhook, data, model_name, event, timestamp, username, reque
return 'Status {} returned, webhook successfully processed.'.format(response.status_code) return 'Status {} returned, webhook successfully processed.'.format(response.status_code)
else: else:
raise requests.exceptions.RequestException( raise requests.exceptions.RequestException(
"Status {} returned with content '{}', webhook FAILED to process.".format(response.status_code, response.content) "Status {} returned with content '{}', webhook FAILED to process.".format(
response.status_code, response.content
)
) )