I want to be able to return something other than application/json i.e. kml.
I have the following:
@api.representation('application/vnd.google-earth.kml+xml')
def kml(data):
return Response(data, mimetype='application/vnd.google-earth.kml+xml')
class mykml(restful.Resource):
def get(self):
r = requests.get("http://myurl/kml") # This retrieves a .kml file
response = make_response(r.content)
response.headers['Content-Type'] = "application/vnd.google-earth.kml+xml"
return response
Why is this still returning application/json? Also, if I have different formats, can I dynamically change the Content-Type of the respone within class mykml without the decorator?
Imports: from flask import Flask, request, Response, session,make_response
If you need a specific response type from an API method, then you'll have to use flask.make_response() to return a 'pre-baked' response object:
def get(self):
response = flask.make_response(something)
response.headers['content-type'] = 'application/vnd.google-earth.kml'
return response