title: Why does creating a flask.Response object seemingly lose my data?
body: <p>I have a Python/Flask application that uses <code>flask.jsonify()</code></p>
  
  <p>Here is the code from my application: I'm creating a <code>flask.Response</code> object by using <code>jsonify()</code> and I'm printing its values. Note the 3 arguments I'm sending in to <code>jsonify()</code>. I will want to get them back out later:</p>
  
  <pre><code>x = jsonify(message="Hello World!", status_code=90210, status=404)
  print "x = %s\n" % str(x))
  print "x.status_code = %s\n" % str(x.status_code))
  print "x.status = %s\n" % str(x.status))
  print "dir(x) = %s\n" % str(dir(x))
  </code></pre>
  
  <p>What's the output from the above? It is shown below. It makes no sense. </p>
  
  <pre><code>x = &lt;Response 82 bytes [200 OK]&gt;
  x.status_code = 200
  x.status = 200 OK
  dir(x) = ['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_ensure_sequence', '_get_mimetype_params', '_on_close', '_status', '_status_code', 'accept_ranges', 'add_etag', 'age', 'allow', 'autocorrect_location_header', 'automatically_set_content_length', 'cache_control', 'calculate_content_length', 'call_on_close', 'charset', 'close', 'content_encoding', 'content_language', 'content_length', 'content_location', 'content_md5', 'content_range', 'content_type', 'data', 'date', 'default_mimetype', 'default_status', 'delete_cookie', 'direct_passthrough', 'expires', 'force_type', 'freeze', 'from_app', 'get_app_iter', 'get_data', 'get_etag', 'get_wsgi_headers', 'get_wsgi_response', 'headers', 'implicit_sequence_conversion', 'is_sequence', 'is_streamed', 'iter_encoded', 'last_modified', 'location', 'make_conditional', 'make_sequence', 'mimetype', 'mimetype_params', 'response', 'retry_after', 'set_cookie', 'set_data', 'set_etag', 'status', 'status_code', 'stream', 'vary', 'www_authenticate']
  </code></pre>
  
  <p>It shows the <code>status</code> and <code>status_code</code> both to be 200, even though I sent in different values. Why have I lost this data? Where can I find the <code>"Hello World"</code> string that I put into it earlier? There is no <code>.message()</code>.</p>