# HG changeset patch # User Peter Sanchez # Date 1418159863 28800 # Tue Dec 09 13:17:43 2014 -0800 # Node ID 8fb98fcd774cfc04a085c1b868aa5625d4b7cb9a # Parent d2f6692fde71d7f557767862b39cc29f19e5b61a # Parent bfbf2780ee1c43141db325236ea5be81b0a8fbd1 Merged in arski/djpubsubhubbub/fix-empty-lease-seconds (pull request #7) Catch invalid lease_seconds values supplied by GET diff --git a/djpubsubhubbub/views.py b/djpubsubhubbub/views.py --- a/djpubsubhubbub/views.py +++ b/djpubsubhubbub/views.py @@ -17,10 +17,11 @@ mode = request.GET['hub.mode'] topic = request.GET['hub.topic'] challenge = request.GET['hub.challenge'] - lease_seconds = request.GET.get( - 'hub.lease_seconds', - DEFAULT_LEASE_SECONDS, - ) + lease_seconds = request.GET.get('hub.lease_seconds', '') + try: + lease_seconds = int(lease_seconds) + except ValueError: + lease_seconds = DEFAULT_LEASE_SECONDS verify_token = request.GET.get('hub.verify_token', '') except MultiValueDictKeyError: # Raise 404 instead of 500 error @@ -52,7 +53,7 @@ subscription.verified = True subscription.is_subscribed = True - subscription.set_expiration(int(lease_seconds)) + subscription.set_expiration(lease_seconds) verified.send(sender=subscription) elif mode == 'unsubscribe': if not verify_token.startswith('unsubscribe'): @@ -60,7 +61,7 @@ subscription.verified = False subscription.is_subscribed = False - subscription.set_expiration(int(lease_seconds)) + subscription.set_expiration(lease_seconds) return HttpResponse(challenge, content_type='text/plain') elif request.method == 'POST':