Flask: Getting request parameters based on Content-Type header


What is the proper way to deal with the request body depending on the Content-Type header of the request?

I need to implement a RESTful service that supports XML, JSON and form encoded request parameters, but I can't seem to find a clean way of extracting the request parameters.

Is this something that I should use a middleware for? Do I need to extend the Request object?

I haven't found any packages that do this, and it seems like a pretty common task for creating RESTful services in flask.

12/25/2012 3:23:05 PM

You probably meant Accept header, as Content-Type is used for response. There are three choices here:

  1. Build it youself as described in Handling Accept Headers snippet.
  2. Use Flask-RESTful extension (consult Content Negotiation part in the docs).
  3. Use Flask-Pushrod extension which is specifically built to handle this case.
12/25/2012 10:15:20 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow