code: def parse_request(api_secret, reqbody, dec_func=False):
      
      try:
          if type(reqbody) == type(dict):
              return self.parse_form_request(reqbody)
              
          if callable(dec_func):
              req_msg = json.loads(dec_func(reqbody))
          else:
              req_msg = json.loads(reqbody)
      except Exception as err:
          raise ParseError(u"parse params error")
  
      if not check_sign(api_secret, req_msg):
          raise SignError(u"message sign error")
  
      return Storage(req_msg)
docs: >>> parse_request("123456",'{"nonce": 1451122677, "msg": "helllo", "code": 0, "sign": "DB30F4D1112C20DFA736F65458F89C64"}')
          <Storage {u'nonce': 1451122677, u'msg': u'helllo', u'code': 0, u'sign': u'DB30F4D1112C20DFA736F65458F89C64'}>