 
 (defmimetype native "application/metadata+xml" :native)
 
+(def any "*/*")
+
+;; extra helpers
+
 (def all-supported-mime-types
   "A superset of all mime types supported by any CMR applications."
   (keys base-mime-type-to-format))

(defn mime-type->format
  "Converts a mime-type into the format requested."
  ([mime-type]
   (mime-type->format mime-type "application/json"))
  ([mime-type default-mime-type]
   (if mime-type
     (or (get base-mime-type-to-format mime-type)
         (get base-mime-type-to-format default-mime-type))
     (get base-mime-type-to-format default-mime-type))))

(defn extract-mime-types
  "Extracts mime types from an accept header string according to RFC 2616 and returns them

(ns cmr.common.mime-types
  "Provides vars and functions for parsing and generating between MIME
  type and HTTP Content-Type strings and data formats supported by the
  CMR."
  (:refer-clojure :exclude [atom])
  (:require [clojure.string :as str]
            [cmr.common.util :as util]
            [cmr.common.services.errors :as svc-errors]
            [ring.middleware.format-response :as fr]))

;; (note: these maps will be populated as MIME types are declared)

(def base-mime-type-to-format
  "A map of MIME type strings to CMR data format keywords."
  {})

(def format->mime-type
  "A map of CMR data format keywords to MIME type strings."
  {})

;; Supported MIME types

(defmacro defmimetype
  "An elegant DSL for crafting beautiful mime-type definitions."
