func certificatesGet(d *Daemon, r *http.Request) Response { recursion := d.isRecursionRequest(r) if recursion { certResponses := []shared.CertInfo{} baseCerts, err := dbCertsGet(d.db) if err != nil { return SmartError(err) } for _, baseCert := range baseCerts { resp := shared.CertInfo{} resp.Fingerprint = baseCert.Fingerprint resp.Certificate = baseCert.Certificate if baseCert.Type == 1 { resp.Type = "client" } else { resp.Type = "unknown" } certResponses = append(certResponses, resp) } return SyncResponse(true, certResponses) } body := []string{} for _, cert := range d.clientCerts { fingerprint := fmt.Sprintf("/%s/certificates/%s", shared.APIVersion, certGenerateFingerprint(&cert)) body = append(body, fingerprint) } return SyncResponse(true, body) }
func doCertificateGet(d *Daemon, fingerprint string) (shared.CertInfo, error) { resp := shared.CertInfo{} dbCertInfo, err := dbCertGet(d.db, fingerprint) if err != nil { return resp, err } resp.Fingerprint = dbCertInfo.Fingerprint resp.Certificate = dbCertInfo.Certificate if dbCertInfo.Type == 1 { resp.Type = "client" } else { resp.Type = "unknown" } return resp, nil }