Request.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. class ChargeBee_Request
  3. {
  4. const GET = "get";
  5. const POST = "post";
  6. public static function sendListRequest($method, $url, $params = array(), $env = null, $headers = array())
  7. {
  8. $serialized = array();
  9. foreach ($params as $k => $v)
  10. {
  11. if(is_array($v)){
  12. $v = json_encode($v);
  13. }
  14. $serialized[$k] = $v;
  15. }
  16. return self::send($method,$url,$serialized,$env,$headers);
  17. }
  18. public static function send($method, $url, $params = array(), $env = null, $headers = array())
  19. {
  20. if(is_null($env))
  21. {
  22. $env = ChargeBee_Environment::defaultEnv();
  23. }
  24. if(is_null($env))
  25. {
  26. throw new Exception("ChargeBee api environment is not set. Set your site & api key in ChargeBee_Environment::configure('your_site', 'your_api_key')");
  27. }
  28. $ser_params = ChargeBee_Util::serialize($params);
  29. $response = ChargeBee_Curl::doRequest($method, $url, $env, $ser_params, $headers);
  30. if(is_array($response) && array_key_exists("list", $response))
  31. {
  32. return new ChargeBee_ListResult($response['list'], isset($response['next_offset'])?$response['next_offset']:null);
  33. } else {
  34. return new ChargeBee_Result($response);
  35. }
  36. }
  37. }
  38. ?>