func handleGET(token *config.Token, domain *api.Domain, l *log.RequestLogger, r *responder.Responder, recordName string) { // Get list of records for specified type and domain records, err := domain.ListRecords(token.Domain, token.Type) if err != nil { r.Error(err) l.Error(err) return } // Return list of all records if no specific record was asked for if recordName == "" { r.JSON(&RecordListResponse{ Domain: token.Domain, Records: records, }) l.Message(fmt.Sprintf("Returning %d records of type '%s' for domain '%s'", len(records), token.Domain, token.Type)) return } // Return specific record for _, record := range records { if record.Name == recordName { r.JSON(record) l.Message(fmt.Sprintf("Returning record '%s' of type '%s' for domain '%s'", recordName, token.Domain, token.Type)) return } } // Record not found err = fmt.Errorf("Record with name '%s' not found", recordName) r.Error(err) l.Error(err) }