'Construct a POST request.'

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

    if (content_type is MULTIPART_CONTENT):
        post_data = encode_multipart(BOUNDARY, data)
    else:
        match = CONTENT_TYPE_RE.match(content_type)
        if match:
            charset = match.group(1)
        else:
            charset = settings.DEFAULT_CHARSET
        post_data = smart_str(data, encoding=charset)
    parsed = urlparse(path)
    r = {'CONTENT_LENGTH': len(post_data), 'CONTENT_TYPE': content_type, 'PATH_INFO': self._get_path(parsed), 'QUERY_STRING': parsed[4], 'REQUEST_METHOD': 'POST', 'wsgi.input': FakePayload(post_data)}
    r.update(extra)
    return self.request(**r)
