return
        }
 
-       err = json.NewEncoder(w).Encode(dom)
+       jdata, err := json.Marshal(dom)
        if err != nil {
                smslogger.WriteError(err.Error())
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
        }
 
+       w.Header().Set("Content-Type", "application/json")
        w.WriteHeader(http.StatusCreated)
+       w.Write(jdata)
 }
 
 // deleteSecretDomainHandler deletes a secret domain with the name provided
                return
        }
 
-       err = json.NewEncoder(w).Encode(sec)
+       jdata, err := json.Marshal(sec)
        if err != nil {
                smslogger.WriteError(err.Error())
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
        }
+
+       w.Header().Set("Content-Type", "application/json")
+       w.Write(jdata)
 }
 
 // listSecretHandler handles listing all secrets under a particular domain name
                return
        }
 
-       err = json.NewEncoder(w).Encode(sec)
+       jdata, err := json.Marshal(sec)
        if err != nil {
                smslogger.WriteError(err.Error())
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
        }
+
+       w.Header().Set("Content-Type", "application/json")
+       w.Write(jdata)
 }
 
 // deleteSecretHandler handles deleting a secret by given domain name and secret name
        }
 
        status := backendStatus{Seal: s}
-       err = json.NewEncoder(w).Encode(status)
+       jdata, err := json.Marshal(status)
        if err != nil {
                smslogger.WriteError(err.Error())
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
        }
+
+       w.Header().Set("Content-Type", "application/json")
+       w.Write(jdata)
 }
 
 // loginHandler handles login via password and username