'Construct a POST request.'

def post(self, path, data={}, content_type=MULTIPART_CONTENT, **extra):

    post_data = self._encode_data(data, content_type)
    parsed = urlparse(path)
    query_string = force_str(parsed[4])
    if six.PY3:
        query_string = query_string.encode(u'utf-8').decode(u'iso-8859-1')
    r = {u'CONTENT_LENGTH': len(post_data), u'CONTENT_TYPE': content_type, u'PATH_INFO': self._get_path(parsed), u'QUERY_STRING': query_string, u'REQUEST_METHOD': str(u'POST'), u'wsgi.input': FakePayload(post_data)}
    r.update(extra)
    return self.request(**r)
