+ if err != nil {
+ return nil, pkgerrors.Cause(err)
+ }
+
+ return c.BaseURL.ResolveReference(rel), nil
+
+}
+
+func (c *smsClient) sendGetRequest(relURL string) (map[string]interface{}, error) {
+
+ u, err := c.resolveURL(relURL)
+ if err != nil {
+ return nil, pkgerrors.Cause(err)
+ }
+
+ resp, err := c.httpClient.Get(u.String())
+ if err != nil {
+ return nil, pkgerrors.Cause(err)
+ }
+
+ if resp.StatusCode >= 400 && resp.StatusCode < 600 {
+ // Request Failed
+ errText, _ := ioutil.ReadAll(resp.Body)
+ return nil, pkgerrors.Errorf("Request Failed with: %s and Error: %s",
+ resp.Status, string(errText))
+ }
+
+ var result map[string]interface{}
+ err = json.NewDecoder(resp.Body).Decode(&result)
+ if err != nil {
+ return nil, pkgerrors.Cause(err)
+ }
+
+ return result, nil
+}
+
+func (c *smsClient) sendPostRequest(relURL string, message map[string]interface{}) error {
+
+ u, err := c.resolveURL(relURL)