Clean up mime package.
Also speed up default mime-type map, by not using a const map.
BUG=
R=kevmoo@google.com
Review URL: https://codereview.chromium.org//292983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/mime@36543 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/lib/src/default_extension_map.dart b/lib/src/default_extension_map.dart
index 7e74648..ae0d7df 100644
--- a/lib/src/default_extension_map.dart
+++ b/lib/src/default_extension_map.dart
@@ -4,8 +4,8 @@
library mime.extension_map;
-// TODO(ajohnsen): Use sorted list and binary search?
-const Map<String, String> DEFAULT_EXTENSION_MAP = const <String, String>{
+// TODO(ajohnsen): Use const map once Issue 7559 is fixed.
+final Map<String, String> defaultExtensionMap = <String, String>{
'123':'application/vnd.lotus-1-2-3',
'3dml':'text/vnd.in3d.3dml',
'3ds':'image/x-3ds',
diff --git a/lib/src/magic_number.dart b/lib/src/magic_number.dart
index 6c554aa..3efb2ee 100644
--- a/lib/src/magic_number.dart
+++ b/lib/src/magic_number.dart
@@ -27,6 +27,8 @@
}
+const int DEFAULT_MAGIC_NUMBERS_MAX_LENGTH = 12;
+
const List<MagicNumber> DEFAULT_MAGIC_NUMBERS = const [
const MagicNumber('application/pdf', const [0x25, 0x50, 0x44, 0x46]),
const MagicNumber('application/postscript', const [0x25, 0x51]),
diff --git a/lib/src/mime_type.dart b/lib/src/mime_type.dart
index ca4d6c5..744eead 100644
--- a/lib/src/mime_type.dart
+++ b/lib/src/mime_type.dart
@@ -12,8 +12,7 @@
/**
* The maximum number of bytes needed, to match all default magic-numbers.
*/
-// NOTE: this is not formatted AS_A_CONST to avoid a breaking change
-const int defaultMagicNumbersMaxLength = 12;
+int get defaultMagicNumbersMaxLength => _globalResolver.magicNumbersMaxLength;
/**
* Extract the extension from [path] and use that for MIME-type lookup, using
@@ -49,7 +48,7 @@
*/
MimeTypeResolver() :
_useDefault = true,
- _magicNumbersMaxLength = defaultMagicNumbersMaxLength;
+ _magicNumbersMaxLength = DEFAULT_MAGIC_NUMBERS_MAX_LENGTH;
/**
* Get the maximum number of bytes required to match all magic numbers, when
@@ -82,7 +81,7 @@
result = _extensionMap[ext];
if (result != null) return result;
if (_useDefault) {
- result = DEFAULT_EXTENSION_MAP[ext];
+ result = defaultExtensionMap[ext];
if (result != null) return result;
}
return null;
diff --git a/pubspec.yaml b/pubspec.yaml
index b44361b..54dc5a8 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: mime
-version: 0.9.0+1
+version: 0.9.0+2
author: Dart Team <misc@dartlang.org>
description: Helper-package for working with MIME.
homepage: http://www.dartlang.org