'Retrieve the request POST parameters from the client as a dictionary.
If no POST parameters can be interpreted, return an empty dict.'

@lazy
def post_dict(self):

    contents = self.request_content
    try:
        post_dict = urlparse.parse_qs(contents, keep_blank_values=True)
        return {key: list_val[0] for (key, list_val) in post_dict.items()}
    except:
        return dict()
