<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def unsigned_request(self, path, payload=None):
 """ generic bitpay usigned wrapper passing a payload will do a POST, otherwise a GET """

    headers = {"content-type": "application/json", "accept": "application/json", "X-accept-version": "2.0.0"}
    try:
      if payload:
        response = requests.post(self.uri + path, verify=self.verify, data=json.dumps(payload), headers=headers)
      else:
        response = requests.get(self.uri + path, verify=self.verify, headers=headers)
    except Exception as pro:
      raise BitPayConnectionError('Connection refused')
    return response