Ok - I'm pretty sure that I should be returning 500s. Is there any way of 
catching 404s and returning a JSON response for them as well?


On Friday, 22 June 2012 00:08:39 UTC+10, Kurtis wrote:
>
> I'm not sure if returning a response is any different in middleware than 
> it would be in a normal view. In that case:
>
> return HttpResponse(json_data, mimetype="application/json")
>
>
> On Thu, Jun 21, 2012 at 6:54 AM, Taras_96 <taras...@gmail.com> wrote:
>
>> Does anyone have opinions on the best way of having middleware catch 
>> exceptions, and instead of rendering the error into a HTML template, to 
>> return a JSON object? Currently I have the middleware below that catches 
>> exceptions, and if it can find an extra user error message, puts that onto 
>> the request (that the template then picks up).
>>
>> class ExceptionUserErrorMessageMiddleware(object):
>>     def process_exception(self, request, exception):
>>         """ if the exception has information relevant to the user, then 
>>         tack that onto the request object"""
>>
>>         theFormat = djrequest.get_getvar(request, settings.FORMAT_PARAM, "")
>>         msg = getMessage(exception)
>>         if msg:
>>             setattr(request, USER_ERROR_MESSAGE_ATTR, msg)
>>
>>         if theFormat == "json":
>>             print "do something"
>>
>> What's the best way of returning a json object here? Should I set any 
>> additional headers?
>>
>> Is there a way of doing the same for exceptional circumstances that don't 
>> pass through middleware (I'm pretty sure 404 doesn't, are there any others)?
>>  
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/django-users/-/EtPHiu7SIB8J.
>> To post to this group, send email to django-users@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> django-users+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/django-users?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/UCB_k6uqsMcJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to