You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by sk...@apache.org on 2017/08/08 14:26:19 UTC
syncope git commit: [SYNCOPE-1097] Downloaded files for binary
attributes have a better naming
Repository: syncope
Updated Branches:
refs/heads/2_0_X 1855b0b4d -> 0b5da3865
[SYNCOPE-1097] Downloaded files for binary attributes have a better naming
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/0b5da386
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/0b5da386
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/0b5da386
Branch: refs/heads/2_0_X
Commit: 0b5da38650747b2ae7eb218f65d9e161d3f0bb5a
Parents: 1855b0b
Author: skylark17 <ma...@tirasa.net>
Authored: Tue Aug 8 16:24:53 2017 +0200
Committer: skylark17 <ma...@tirasa.net>
Committed: Tue Aug 8 16:25:42 2017 +0200
----------------------------------------------------------------------
.../client/console/init/MIMETypesLoader.java | 38 +-
.../console/panels/PlainSchemaDetails.java | 5 +-
.../wicket/markup/html/form/AjaxDownload.java | 27 +-
.../markup/html/form/BinaryFieldPanel.java | 19 +-
.../client/console/wizards/any/PlainAttrs.java | 16 +-
client/console/src/main/resources/MIMETypes | 671 ---------
.../console/src/main/resources/MIMETypes.json | 1285 ++++++++++++++++++
7 files changed, 1360 insertions(+), 701 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
index db47844..c48bbc6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
@@ -18,13 +18,13 @@
*/
package org.apache.syncope.client.console.init;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
+import java.util.HashMap;
import java.util.List;
-import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
+import java.util.Map;
import org.apache.wicket.util.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,21 +33,23 @@ public class MIMETypesLoader {
private static final Logger LOG = LoggerFactory.getLogger(MIMETypesLoader.class);
- private List<String> mimeTypes;
+ private Map<String, String> mimeTypes;
+
+ private static final ObjectMapper MAPPER = new ObjectMapper();
public void load() {
- if (CollectionUtils.isEmpty(mimeTypes)) {
- Set<String> mediaTypes = new HashSet<>();
- this.mimeTypes = new ArrayList<>();
+ if (mimeTypes == null || mimeTypes.isEmpty()) {
+ mimeTypes = new HashMap<>();
try {
- final String mimeTypesFile = IOUtils.toString(getClass().getResourceAsStream("/MIMETypes"));
- for (String fileRow : mimeTypesFile.split("\n")) {
- if (StringUtils.isNotBlank(fileRow) && !fileRow.startsWith("#")) {
- mediaTypes.add(fileRow);
+ JsonNode jsonNode = MAPPER.readTree(
+ IOUtils.toString(getClass().getResourceAsStream("/MIMETypes.json")));
+ for (JsonNode node : jsonNode) {
+ JsonNode type = node.path("name");
+ JsonNode ext = node.path("extension");
+ if (!type.isMissingNode()) {
+ mimeTypes.put(type.asText(), !ext.isMissingNode() ? ext.asText() : "");
}
}
- this.mimeTypes.addAll(mediaTypes);
- Collections.sort(this.mimeTypes);
} catch (Exception e) {
LOG.error("Error reading file MIMETypes from resources", e);
}
@@ -56,6 +58,12 @@ public class MIMETypesLoader {
public List<String> getMimeTypes() {
LOG.debug("Returning loaded MIME types list {}", mimeTypes);
- return mimeTypes;
+ List<String> list = new ArrayList<>(mimeTypes.keySet());
+ Collections.sort(list);
+ return list;
+ }
+
+ public String getExtensionByMimeType(final String mimeType) {
+ return mimeTypes.get(mimeType);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
index d67ae8f..7d9d18c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
@@ -25,6 +25,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.commons.PropertyList;
@@ -53,7 +54,8 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
private static final long serialVersionUID = 5378100729213456451L;
- private static final MIMETypesLoader MIME_TYPES_INITIALIZER = new MIMETypesLoader();
+ private static final MIMETypesLoader MIME_TYPES_INITIALIZER = (MIMETypesLoader) SyncopeConsoleApplication.get().
+ getServletContext().getAttribute("MIMETYPES_LOADER");
private final MultiFieldPanel<String> enumerationValues;
@@ -391,7 +393,6 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
cipherAlgorithm.setModelObject(null);
binaryParams.setVisible(true);
- MIME_TYPES_INITIALIZER.load();
mimeType.setChoices(MIME_TYPES_INITIALIZER.getMimeTypes());
} else {
conversionParams.setVisible(false);
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
index 20a1d25..57a9b59 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
@@ -18,7 +18,11 @@
*/
package org.apache.syncope.client.console.wicket.markup.html.form;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.commons.HttpResourceStream;
+import org.apache.syncope.client.console.init.MIMETypesLoader;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
@@ -30,6 +34,13 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior {
private final String name;
+ private static final MIMETypesLoader MIME_TYPES_INITIALIZER = (MIMETypesLoader) SyncopeConsoleApplication.get().
+ getServletContext().getAttribute("MIMETYPES_LOADER");
+
+ private String fileKey;
+
+ private String mimeType;
+
private final boolean addAntiCache;
public AjaxDownload(final String name, final boolean addAntiCache) {
@@ -38,6 +49,12 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior {
this.addAntiCache = addAntiCache;
}
+ public AjaxDownload(final String name, final String fileKey, final String mimeType, final boolean addAntiCache) {
+ this(name, addAntiCache);
+ this.fileKey = fileKey;
+ this.mimeType = mimeType;
+ }
+
public void initiate(final AjaxRequestTarget target) {
String url = getCallbackUrl().toString();
@@ -52,7 +69,15 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior {
public void onRequest() {
HttpResourceStream stream = getResourceStream();
ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(stream);
- handler.setFileName(stream.getFilename() == null ? name : stream.getFilename());
+ String key = StringUtils.isNotBlank(fileKey) ? fileKey + "_" : "";
+ String ext = "";
+ if (StringUtils.isNotBlank(mimeType)) {
+ String extByMimeType = MIME_TYPES_INITIALIZER.getExtensionByMimeType(mimeType);
+ ext = !extByMimeType.isEmpty() ? ("." + extByMimeType) : ".bin";
+ }
+ String fileName = key + (stream.getFilename() == null ? name : stream.getFilename()) + ext;
+
+ handler.setFileName(fileName);
handler.setContentDisposition(ContentDisposition.ATTACHMENT);
getComponent().getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index eae8a2d..5edea5b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -80,11 +80,10 @@ public class BinaryFieldPanel extends FieldPanel<String> {
private final AbstractBinaryPreviewer previewer;
- private final Label previewLabel;
-
private final IndicatingAjaxLink<Void> resetLink;
- public BinaryFieldPanel(final String id, final String name, final IModel<String> model, final String mimeType) {
+ public BinaryFieldPanel(final String id, final String name, final IModel<String> model, final String mimeType,
+ final String fileKey) {
super(id, name, model);
this.mimeType = mimeType;
@@ -129,10 +128,9 @@ public class BinaryFieldPanel extends FieldPanel<String> {
field = new TextField<>("textField", model);
add(field.setLabel(new Model<>(name)).setOutputMarkupId(true));
- previewLabel = new Label("preview", StringUtils.isBlank(mimeType) ? StringUtils.EMPTY : "(" + mimeType + ")");
- uploadForm.add(previewLabel);
+ uploadForm.add(new Label("preview", StringUtils.isBlank(mimeType) ? StringUtils.EMPTY : "(" + mimeType + ")"));
- fileDownload = new AjaxDownload(name, true) {
+ fileDownload = new AjaxDownload(name, fileKey, mimeType, true) {
private static final long serialVersionUID = 7203445884857810583L;
@@ -192,7 +190,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
uploadForm.addOrReplace(fileUpload);
}
- setVisiblePhotoButtons(StringUtils.isNotBlank(uploaded));
+ setVisibleFileButtons(StringUtils.isNotBlank(uploaded));
downloadLink.setEnabled(StringUtils.isNotBlank(uploaded));
target.add(uploadForm);
@@ -211,7 +209,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
target.add(field);
downloadLink.setEnabled(false);
container.addOrReplace(emptyFragment);
- setVisiblePhotoButtons(false);
+ setVisibleFileButtons(false);
target.add(uploadForm);
}
@@ -236,8 +234,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
uploadForm.addOrReplace(container);
}
- private void setVisiblePhotoButtons(final boolean visible) {
- previewLabel.setVisible(visible);
+ private void setVisibleFileButtons(final boolean visible) {
resetLink.setVisible(visible);
downloadLink.setVisible(visible);
}
@@ -266,7 +263,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
}
downloadLink.setEnabled(StringUtils.isNotBlank(modelObj));
- setVisiblePhotoButtons(StringUtils.isNotBlank(modelObj));
+ setVisibleFileButtons(StringUtils.isNotBlank(modelObj));
return this;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 250930a..9348589 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -43,10 +43,13 @@ import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
+import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
+import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.types.AttrSchemaType;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
@@ -71,6 +74,8 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
protected final AnyTO previousObject;
+ protected String fileKey = "";
+
public <T extends AnyTO> PlainAttrs(
final AnyWrapper<T> modelObject,
final Form<?> form,
@@ -81,6 +86,14 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
super(modelObject, anyTypeClasses, whichPlainAttrs);
this.mode = mode;
+ if (modelObject.getInnerObject() instanceof UserTO) {
+ fileKey = UserTO.class.cast(modelObject.getInnerObject()).getUsername();
+ } else if (modelObject.getInnerObject() instanceof GroupTO) {
+ fileKey = GroupTO.class.cast(modelObject.getInnerObject()).getName();
+ } else if (modelObject.getInnerObject() instanceof AnyObjectTO) {
+ fileKey = AnyObjectTO.class.cast(modelObject.getInnerObject()).getName();
+ }
+
if (modelObject instanceof UserWrapper) {
previousObject = UserWrapper.class.cast(modelObject).getPreviousUserTO();
} else {
@@ -298,7 +311,8 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
break;
case Binary:
- panel = new BinaryFieldPanel("panel", schemaTO.getKey(), new Model<String>(), schemaTO.getMimeType());
+ panel = new BinaryFieldPanel("panel", schemaTO.getKey(), new Model<String>(), schemaTO.getMimeType(),
+ fileKey);
if (required) {
panel.addRequiredLabel();
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/resources/MIMETypes
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/MIMETypes b/client/console/src/main/resources/MIMETypes
deleted file mode 100644
index 9571823..0000000
--- a/client/console/src/main/resources/MIMETypes
+++ /dev/null
@@ -1,671 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-x-world/x-3dmf
-x-world/x-3dmf
-application/octet-stream
-application/x-authorware-bin
-application/x-authorware-map
-application/x-authorware-seg
-text/vnd.abc
-text/html
-video/animaflex
-application/postscript
-audio/aiff
-audio/x-aiff
-audio/aiff
-audio/x-aiff
-audio/aiff
-audio/x-aiff
-application/x-aim
-text/x-audiosoft-intra
-application/x-navi-animation
-application/x-nokia-9000-communicator-add-on-software
-application/mime
-application/octet-stream
-application/arj
-application/octet-stream
-image/x-jg
-video/x-ms-asf
-text/x-asm
-text/asp
-application/x-mplayer2
-video/x-ms-asf
-video/x-ms-asf-plugin
-audio/basic
-audio/x-au
-application/x-troff-msvideo
-video/avi
-video/msvideo
-video/x-msvideo
-video/avs-video
-application/x-bcpio
-application/mac-binary
-application/macbinary
-application/octet-stream
-application/x-binary
-application/x-macbinary
-image/bmp
-image/bmp
-image/x-windows-bmp
-application/book
-application/book
-application/x-bzip2
-application/x-bsh
-application/x-bzip
-application/x-bzip2
-text/plain
-text/x-c
-text/plain
-application/vnd.ms-pki.seccat
-text/plain
-text/x-c
-application/clariscad
-application/x-cocoa
-application/cdf
-application/x-cdf
-application/x-netcdf
-application/pkix-cert
-application/x-x509-ca-cert
-application/x-chat
-application/x-chat
-application/java
-application/java-byte-code
-application/x-java-class
-application/octet-stream
-text/plain
-text/plain
-application/x-cpio
-text/x-c
-application/mac-compactpro
-application/x-compactpro
-application/x-cpt
-application/pkcs-crl
-application/pkix-crl
-application/pkix-cert
-application/x-x509-ca-cert
-application/x-x509-user-cert
-application/x-csh
-text/x-script.csh
-application/x-pointplus
-text/css
-text/plain
-application/x-director
-application/x-deepv
-text/plain
-application/x-x509-ca-cert
-video/x-dv
-application/x-director
-video/dl
-video/x-dl
-application/msword
-application/msword
-application/commonground
-application/drafting
-application/octet-stream
-video/x-dv
-application/x-dvi
-drawing/x-dwf (old)
-model/vnd.dwf
-application/acad
-image/vnd.dwg
-image/x-dwg
-application/dxf
-image/vnd.dwg
-image/x-dwg
-application/x-director
-text/x-script.elisp
-application/x-bytecode.elisp (compiled elisp)
-application/x-elc
-application/x-envoy
-application/postscript
-application/x-esrehber
-text/x-setext
-application/envoy
-application/x-envoy
-application/octet-stream
-text/plain
-text/x-fortran
-text/x-fortran
-text/plain
-text/x-fortran
-application/vnd.fdf
-application/fractals
-image/fif
-video/fli
-video/x-fli
-image/florian
-text/vnd.fmi.flexstor
-video/x-atomic3d-feature
-text/plain
-text/x-fortran
-image/vnd.fpx
-image/vnd.net-fpx
-application/freeloader
-audio/make
-text/plain
-image/g3fax
-image/gif
-video/gl
-video/x-gl
-audio/x-gsm
-audio/x-gsm
-application/x-gsp
-application/x-gss
-application/x-gtar
-application/x-compressed
-application/x-gzip
-application/x-gzip
-multipart/x-gzip
-text/plain
-text/x-h
-application/x-hdf
-application/x-helpfile
-application/vnd.hp-hpgl
-text/plain
-text/x-h
-text/x-script
-application/hlp
-application/x-helpfile
-application/x-winhelp
-application/vnd.hp-hpgl
-application/vnd.hp-hpgl
-application/binhex
-application/binhex4
-application/mac-binhex
-application/mac-binhex40
-application/x-binhex40
-application/x-mac-binhex40
-application/hta
-text/x-component
-text/html
-text/html
-text/html
-text/webviewhtml
-text/html
-x-conference/x-cooltalk
-image/x-icon
-text/plain
-image/ief
-image/ief
-application/iges
-model/iges
-application/iges
-model/iges
-application/x-ima
-application/x-httpd-imap
-application/inf
-application/x-internett-signup
-application/x-ip2
-video/x-isvideo
-audio/it
-application/x-inventor
-i-world/i-vrml
-application/x-livescreen
-audio/x-jam
-text/plain
-text/x-java-source
-text/plain
-text/x-java-source
-application/x-java-commerce
-image/jpeg
-image/pjpeg
-image/jpeg
-image/jpeg
-image/pjpeg
-image/jpeg
-image/pjpeg
-image/jpeg
-image/pjpeg
-image/x-jps
-application/x-javascript
-application/javascript
-application/ecmascript
-text/javascript
-text/ecmascript
-image/jutvision
-audio/midi
-music/x-karaoke
-application/x-ksh
-text/x-script.ksh
-audio/nspaudio
-audio/x-nspaudio
-audio/x-liveaudio
-application/x-latex
-application/lha
-application/octet-stream
-application/x-lha
-application/octet-stream
-text/plain
-audio/nspaudio
-audio/x-nspaudio
-text/plain
-application/x-lisp
-text/x-script.lisp
-text/plain
-text/x-la-asf
-application/x-latex
-application/octet-stream
-application/x-lzh
-application/lzx
-application/octet-stream
-application/x-lzx
-text/plain
-text/x-m
-video/mpeg
-audio/mpeg
-video/mpeg
-audio/x-mpequrl
-application/x-troff-man
-application/x-navimap
-text/plain
-application/mbedlet
-application/x-magic-cap-package-1.0
-application/mcad
-application/x-mathcad
-image/vasa
-text/mcf
-application/netmc
-application/x-troff-me
-message/rfc822
-message/rfc822
-application/x-midi
-audio/midi
-audio/x-mid
-audio/x-midi
-music/crescendo
-x-music/x-midi
-application/x-midi
-audio/midi
-audio/x-mid
-audio/x-midi
-music/crescendo
-x-music/x-midi
-application/x-frame
-application/x-mif
-message/rfc822
-www/mime
-audio/x-vnd.audioexplosion.mjuicemediafile
-video/x-motion-jpeg
-application/base64
-application/x-meme
-application/base64
-audio/mod
-audio/x-mod
-video/quicktime
-video/quicktime
-video/x-sgi-movie
-audio/mpeg
-audio/x-mpeg
-video/mpeg
-video/x-mpeg
-video/x-mpeq2a
-audio/mpeg3
-audio/x-mpeg-3
-video/mpeg
-video/x-mpeg
-audio/mpeg
-video/mpeg
-application/x-project
-video/mpeg
-video/mpeg
-audio/mpeg
-video/mpeg
-audio/mpeg
-application/vnd.ms-project
-application/x-project
-application/x-project
-application/x-project
-application/marc
-application/x-troff-ms
-video/x-sgi-movie
-audio/make
-application/x-vnd.audioexplosion.mzz
-image/naplps
-image/naplps
-application/x-netcdf
-application/vnd.nokia.configuration-message
-image/x-niff
-image/x-niff
-application/x-mix-transfer
-application/x-conference
-application/x-navidoc
-application/octet-stream
-application/oda
-application/x-omc
-application/x-omcdatamaker
-application/x-omcregerator
-text/x-pascal
-application/pkcs10
-application/x-pkcs10
-application/pkcs-12
-application/x-pkcs12
-application/x-pkcs7-signature
-application/pkcs7-mime
-application/x-pkcs7-mime
-application/pkcs7-mime
-application/x-pkcs7-mime
-application/x-pkcs7-certreqresp
-application/pkcs7-signature
-application/pro_eng
-text/pascal
-image/x-portable-bitmap
-application/vnd.hp-pcl
-application/x-pcl
-image/x-pict
-image/x-pcx
-chemical/x-pdb
-application/pdf
-audio/make
-audio/make.my.funk
-image/x-portable-graymap
-image/x-portable-greymap
-image/pict
-image/pict
-application/x-newton-compatible-pkg
-application/vnd.ms-pki.pko
-text/plain
-text/x-script.perl
-application/x-pixclscript
-image/x-xpixmap
-text/x-script.perl-module
-application/x-pagemaker
-application/x-pagemaker
-image/png
-application/x-portable-anymap
-image/x-portable-anymap
-application/mspowerpoint
-application/vnd.ms-powerpoint
-model/x-pov
-application/vnd.ms-powerpoint
-image/x-portable-pixmap
-application/mspowerpoint
-application/vnd.ms-powerpoint
-application/mspowerpoint
-application/powerpoint
-application/vnd.ms-powerpoint
-application/x-mspowerpoint
-application/mspowerpoint
-application/x-freelance
-application/pro_eng
-application/postscript
-application/octet-stream
-paleovu/x-pv
-application/vnd.ms-powerpoint
-text/x-script.phyton
-application/x-bytecode.python
-audio/vnd.qcelp
-x-world/x-3dmf
-x-world/x-3dmf
-image/x-quicktime
-video/quicktime
-video/x-qtc
-image/x-quicktime
-image/x-quicktime
-audio/x-pn-realaudio
-audio/x-pn-realaudio-plugin
-audio/x-realaudio
-audio/x-pn-realaudio
-application/x-cmu-raster
-image/cmu-raster
-image/x-cmu-raster
-image/cmu-raster
-text/x-script.rexx
-image/vnd.rn-realflash
-image/x-rgb
-application/vnd.rn-realmedia
-audio/x-pn-realaudio
-audio/mid
-audio/x-pn-realaudio
-audio/x-pn-realaudio
-audio/x-pn-realaudio-plugin
-application/ringing-tones
-application/vnd.nokia.ringing-tone
-application/vnd.rn-realplayer
-application/x-troff
-image/vnd.rn-realpix
-audio/x-pn-realaudio-plugin
-text/richtext
-text/vnd.rn-realtext
-application/rtf
-application/x-rtf
-text/richtext
-application/rtf
-text/richtext
-video/vnd.rn-realvideo
-text/x-asm
-audio/s3m
-application/octet-stream
-application/x-tbook
-application/x-lotusscreencam
-text/x-script.guile
-text/x-script.scheme
-video/x-scm
-text/plain
-application/sdp
-application/x-sdp
-application/sounder
-application/sea
-application/x-sea
-application/set
-text/sgml
-text/x-sgml
-text/sgml
-text/x-sgml
-application/x-bsh
-application/x-sh
-application/x-shar
-text/x-script.sh
-application/x-bsh
-application/x-shar
-text/html
-text/x-server-parsed-html
-audio/x-psid
-application/x-sit
-application/x-stuffit
-application/x-koan
-application/x-koan
-application/x-koan
-application/x-koan
-application/x-seelogo
-application/smil
-application/smil
-audio/basic
-audio/x-adpcm
-application/solids
-application/x-pkcs7-certificates
-text/x-speech
-application/futuresplash
-application/x-sprite
-application/x-sprite
-application/x-wais-source
-text/x-server-parsed-html
-application/streamingmedia
-application/vnd.ms-pki.certstore
-application/step
-application/sla
-application/vnd.ms-pki.stl
-application/x-navistyle
-application/step
-application/x-sv4cpio
-application/x-sv4crc
-image/vnd.dwg
-image/x-dwg
-application/x-world
-x-world/x-svr
-application/x-shockwave-flash
-application/x-troff
-text/x-speech
-application/x-tar
-application/toolbook
-application/x-tbook
-application/x-tcl
-text/x-script.tcl
-text/x-script.tcsh
-application/x-tex
-application/x-texinfo
-application/x-texinfo
-application/plain
-text/plain
-application/gnutar
-application/x-compressed
-image/tiff
-image/x-tiff
-image/tiff
-image/x-tiff
-application/x-troff
-audio/tsp-audio
-application/dsptype
-audio/tsplayer
-text/tab-separated-values
-image/florian
-text/plain
-text/x-uil
-text/uri-list
-text/uri-list
-application/i-deas
-text/uri-list
-text/uri-list
-application/x-ustar
-multipart/x-ustar
-application/octet-stream
-text/x-uuencode
-text/x-uuencode
-application/x-cdlink
-text/x-vcalendar
-application/vda
-video/vdo
-application/groupwise
-video/vivo
-video/vnd.vivo
-video/vivo
-video/vnd.vivo
-application/vocaltec-media-desc
-application/vocaltec-media-file
-audio/voc
-audio/x-voc
-video/vosaic
-audio/voxware
-audio/x-twinvq-plugin
-audio/x-twinvq
-audio/x-twinvq-plugin
-application/x-vrml
-model/vrml
-x-world/x-vrml
-x-world/x-vrt
-application/x-visio
-application/x-visio
-application/x-visio
-application/wordperfect6.0
-application/wordperfect6.1
-application/msword
-audio/wav
-audio/x-wav
-application/x-qpro
-image/vnd.wap.wbmp
-application/vnd.xara
-application/msword
-application/x-123
-windows/metafile
-text/vnd.wap.wml
-application/vnd.wap.wmlc
-text/vnd.wap.wmlscript
-application/vnd.wap.wmlscriptc
-application/msword
-application/wordperfect
-application/wordperfect
-application/wordperfect6.0
-application/wordperfect
-application/wordperfect
-application/x-wpwin
-application/x-lotus
-application/mswrite
-application/x-wri
-application/x-world
-model/vrml
-x-world/x-vrml
-model/vrml
-x-world/x-vrml
-text/scriplet
-application/x-wais-source
-application/x-wintalk
-image/x-xbitmap
-image/x-xbm
-image/xbm
-video/x-amt-demorun
-xgl/drawing
-image/vnd.xiff
-application/excel
-application/excel
-application/x-excel
-application/x-msexcel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/excel
-application/x-excel
-application/excel
-application/x-excel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/x-msexcel
-application/excel
-application/x-excel
-application/excel
-application/x-excel
-application/excel
-application/vnd.ms-excel
-application/x-excel
-application/x-msexcel
-audio/xm
-application/xml
-text/xml
-xgl/movie
-application/x-vnd.ls-xpix
-image/x-xpixmap
-image/xpm
-image/png
-video/x-amt-showrun
-image/x-xwd
-image/x-xwindowdump
-chemical/x-pdb
-application/x-compress
-application/x-compressed
-application/x-compressed
-application/x-zip-compressed
-application/zip
-multipart/x-zip
-application/octet-stream
-text/x-script.zsh
-application/vnd.oasis.opendocument.text
-application/vnd.oasis.opendocument.graphics
-application/vnd.oasis.opendocument.presentation
-application/vnd.oasis.opendocument.spreadsheet
-application/vnd.oasis.opendocument.chart
-application/vnd.oasis.opendocument.formula
-application/vnd.oasis.opendocument.database
-application/vnd.oasis.opendocument.image
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/0b5da386/client/console/src/main/resources/MIMETypes.json
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/MIMETypes.json b/client/console/src/main/resources/MIMETypes.json
new file mode 100644
index 0000000..3c6fa8a
--- /dev/null
+++ b/client/console/src/main/resources/MIMETypes.json
@@ -0,0 +1,1285 @@
+[
+ {
+ "name": "application/acad"
+ },
+ {
+ "name": "application/arj"
+ },
+ {
+ "name": "application/base64"
+ },
+ {
+ "name": "application/binhex"
+ },
+ {
+ "name": "application/binhex4"
+ },
+ {
+ "name": "application/book"
+ },
+ {
+ "name": "application/cdf"
+ },
+ {
+ "name": "application/clariscad"
+ },
+ {
+ "name": "application/commonground"
+ },
+ {
+ "name": "application/drafting"
+ },
+ {
+ "name": "application/dsptype"
+ },
+ {
+ "name": "application/dxf"
+ },
+ {
+ "name": "application/ecmascript"
+ },
+ {
+ "name": "application/envoy"
+ },
+ {
+ "name": "application/excel"
+ },
+ {
+ "name": "application/fractals"
+ },
+ {
+ "name": "application/freeloader"
+ },
+ {
+ "name": "application/futuresplash"
+ },
+ {
+ "name": "application/gnutar"
+ },
+ {
+ "name": "application/groupwise"
+ },
+ {
+ "name": "application/hlp"
+ },
+ {
+ "name": "application/hta"
+ },
+ {
+ "name": "application/i-deas"
+ },
+ {
+ "name": "application/iges"
+ },
+ {
+ "name": "application/inf"
+ },
+ {
+ "name": "application/java"
+ },
+ {
+ "name": "application/java-byte-code"
+ },
+ {
+ "name": "application/javascript"
+ },
+ {
+ "name": "application/lha"
+ },
+ {
+ "name": "application/lzx"
+ },
+ {
+ "name": "application/macbinary"
+ },
+ {
+ "name": "application/mac-binary"
+ },
+ {
+ "name": "application/mac-binhex"
+ },
+ {
+ "name": "application/mac-binhex40"
+ },
+ {
+ "name": "application/mac-compactpro"
+ },
+ {
+ "name": "application/marc"
+ },
+ {
+ "name": "application/mbedlet"
+ },
+ {
+ "name": "application/mcad"
+ },
+ {
+ "name": "application/mime"
+ },
+ {
+ "name": "application/mspowerpoint"
+ },
+ {
+ "name": "application/msword"
+ },
+ {
+ "name": "application/mswrite"
+ },
+ {
+ "name": "application/netmc"
+ },
+ {
+ "name": "application/octet-stream"
+ },
+ {
+ "name": "application/oda"
+ },
+ {
+ "name": "application/pdf"
+ },
+ {
+ "name": "application/pkcs10"
+ },
+ {
+ "name": "application/pkcs-12"
+ },
+ {
+ "name": "application/pkcs7-mime"
+ },
+ {
+ "name": "application/pkcs7-signature"
+ },
+ {
+ "name": "application/pkcs-crl"
+ },
+ {
+ "name": "application/pkix-cert"
+ },
+ {
+ "name": "application/pkix-crl"
+ },
+ {
+ "name": "application/plain"
+ },
+ {
+ "name": "application/postscript"
+ },
+ {
+ "name": "application/powerpoint"
+ },
+ {
+ "name": "application/pro_eng"
+ },
+ {
+ "name": "application/ringing-tones"
+ },
+ {
+ "name": "application/rtf"
+ },
+ {
+ "name": "application/sdp"
+ },
+ {
+ "name": "application/sea"
+ },
+ {
+ "name": "application/set"
+ },
+ {
+ "name": "application/sla"
+ },
+ {
+ "name": "application/smil"
+ },
+ {
+ "name": "application/solids"
+ },
+ {
+ "name": "application/sounder"
+ },
+ {
+ "name": "application/step"
+ },
+ {
+ "name": "application/streamingmedia"
+ },
+ {
+ "name": "application/toolbook"
+ },
+ {
+ "name": "application/vda"
+ },
+ {
+ "name": "application/vnd.fdf"
+ },
+ {
+ "name": "application/vnd.hp-hpgl"
+ },
+ {
+ "name": "application/vnd.hp-pcl"
+ },
+ {
+ "name": "application/vnd.ms-excel"
+ },
+ {
+ "name": "application/vnd.ms-pki.certstore"
+ },
+ {
+ "name": "application/vnd.ms-pki.pko"
+ },
+ {
+ "name": "application/vnd.ms-pki.seccat"
+ },
+ {
+ "name": "application/vnd.ms-pki.stl"
+ },
+ {
+ "name": "application/vnd.ms-powerpoint"
+ },
+ {
+ "name": "application/vnd.ms-project"
+ },
+ {
+ "name": "application/vnd.nokia.configuration-message"
+ },
+ {
+ "name": "application/vnd.nokia.ringing-tone"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.chart"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.database"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.formula"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.graphics"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.image"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.presentation"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.spreadsheet"
+ },
+ {
+ "name": "application/vnd.oasis.opendocument.text"
+ },
+ {
+ "name": "application/vnd.rn-realmedia"
+ },
+ {
+ "name": "application/vnd.rn-realplayer"
+ },
+ {
+ "name": "application/vnd.wap.wmlc"
+ },
+ {
+ "name": "application/vnd.wap.wmlscriptc"
+ },
+ {
+ "name": "application/vnd.xara"
+ },
+ {
+ "name": "application/vocaltec-media-desc"
+ },
+ {
+ "name": "application/vocaltec-media-file"
+ },
+ {
+ "name": "application/wordperfect"
+ },
+ {
+ "name": "application/wordperfect6.0"
+ },
+ {
+ "name": "application/wordperfect6.1"
+ },
+ {
+ "name": "application/x-123"
+ },
+ {
+ "name": "application/x-aim"
+ },
+ {
+ "name": "application/x-authorware-bin"
+ },
+ {
+ "name": "application/x-authorware-map"
+ },
+ {
+ "name": "application/x-authorware-seg"
+ },
+ {
+ "name": "application/x-bcpio"
+ },
+ {
+ "name": "application/x-binary"
+ },
+ {
+ "name": "application/x-binhex40"
+ },
+ {
+ "name": "application/x-bsh"
+ },
+ {
+ "name": "application/x-bytecode.elisp (compiled elisp)"
+ },
+ {
+ "name": "application/x-bytecode.python"
+ },
+ {
+ "name": "application/x-bzip"
+ },
+ {
+ "name": "application/x-bzip2"
+ },
+ {
+ "name": "application/x-cdf"
+ },
+ {
+ "name": "application/x-cdlink"
+ },
+ {
+ "name": "application/x-chat"
+ },
+ {
+ "name": "application/x-cmu-raster"
+ },
+ {
+ "name": "application/x-cocoa"
+ },
+ {
+ "name": "application/x-compactpro"
+ },
+ {
+ "name": "application/x-compress"
+ },
+ {
+ "name": "application/x-compressed"
+ },
+ {
+ "name": "application/x-conference"
+ },
+ {
+ "name": "application/x-cpio"
+ },
+ {
+ "name": "application/x-cpt"
+ },
+ {
+ "name": "application/x-csh"
+ },
+ {
+ "name": "application/x-deepv"
+ },
+ {
+ "name": "application/x-director"
+ },
+ {
+ "name": "application/x-dvi"
+ },
+ {
+ "name": "application/x-elc"
+ },
+ {
+ "name": "application/x-envoy"
+ },
+ {
+ "name": "application/x-esrehber"
+ },
+ {
+ "name": "application/x-excel"
+ },
+ {
+ "name": "application/x-frame"
+ },
+ {
+ "name": "application/x-freelance"
+ },
+ {
+ "name": "application/x-gsp"
+ },
+ {
+ "name": "application/x-gss"
+ },
+ {
+ "name": "application/x-gtar"
+ },
+ {
+ "name": "application/x-gzip"
+ },
+ {
+ "name": "application/x-hdf"
+ },
+ {
+ "name": "application/x-helpfile"
+ },
+ {
+ "name": "application/x-httpd-imap"
+ },
+ {
+ "name": "application/x-ima"
+ },
+ {
+ "name": "application/x-internett-signup"
+ },
+ {
+ "name": "application/x-inventor"
+ },
+ {
+ "name": "application/x-ip2"
+ },
+ {
+ "name": "application/x-java-class"
+ },
+ {
+ "name": "application/x-java-commerce"
+ },
+ {
+ "name": "application/x-javascript"
+ },
+ {
+ "name": "application/x-koan"
+ },
+ {
+ "name": "application/x-ksh"
+ },
+ {
+ "name": "application/x-latex"
+ },
+ {
+ "name": "application/x-lha"
+ },
+ {
+ "name": "application/x-lisp"
+ },
+ {
+ "name": "application/x-livescreen"
+ },
+ {
+ "name": "application/x-lotus"
+ },
+ {
+ "name": "application/x-lotusscreencam"
+ },
+ {
+ "name": "application/x-lzh"
+ },
+ {
+ "name": "application/x-lzx"
+ },
+ {
+ "name": "application/x-macbinary"
+ },
+ {
+ "name": "application/x-mac-binhex40"
+ },
+ {
+ "name": "application/x-magic-cap-package-1.0"
+ },
+ {
+ "name": "application/x-mathcad"
+ },
+ {
+ "name": "application/x-meme"
+ },
+ {
+ "name": "application/x-midi"
+ },
+ {
+ "name": "application/x-mif"
+ },
+ {
+ "name": "application/x-mix-transfer"
+ },
+ {
+ "name": "application/xml"
+ },
+ {
+ "name": "application/x-mplayer2"
+ },
+ {
+ "name": "application/x-msexcel"
+ },
+ {
+ "name": "application/x-mspowerpoint"
+ },
+ {
+ "name": "application/x-navi-animation"
+ },
+ {
+ "name": "application/x-navidoc"
+ },
+ {
+ "name": "application/x-navimap"
+ },
+ {
+ "name": "application/x-navistyle"
+ },
+ {
+ "name": "application/x-netcdf"
+ },
+ {
+ "name": "application/x-newton-compatible-pkg"
+ },
+ {
+ "name": "application/x-nokia-9000-communicator-add-on-software"
+ },
+ {
+ "name": "application/x-omc"
+ },
+ {
+ "name": "application/x-omcdatamaker"
+ },
+ {
+ "name": "application/x-omcregerator"
+ },
+ {
+ "name": "application/x-pagemaker"
+ },
+ {
+ "name": "application/x-pcl"
+ },
+ {
+ "name": "application/x-pixclscript"
+ },
+ {
+ "name": "application/x-pkcs10"
+ },
+ {
+ "name": "application/x-pkcs12"
+ },
+ {
+ "name": "application/x-pkcs7-certificates"
+ },
+ {
+ "name": "application/x-pkcs7-certreqresp"
+ },
+ {
+ "name": "application/x-pkcs7-mime"
+ },
+ {
+ "name": "application/x-pkcs7-signature"
+ },
+ {
+ "name": "application/x-pointplus"
+ },
+ {
+ "name": "application/x-portable-anymap"
+ },
+ {
+ "name": "application/x-project"
+ },
+ {
+ "name": "application/x-qpro"
+ },
+ {
+ "name": "application/x-rtf"
+ },
+ {
+ "name": "application/x-sdp"
+ },
+ {
+ "name": "application/x-sea"
+ },
+ {
+ "name": "application/x-seelogo"
+ },
+ {
+ "name": "application/x-sh"
+ },
+ {
+ "name": "application/x-shar"
+ },
+ {
+ "name": "application/x-shockwave-flash"
+ },
+ {
+ "name": "application/x-sit"
+ },
+ {
+ "name": "application/x-sprite"
+ },
+ {
+ "name": "application/x-stuffit"
+ },
+ {
+ "name": "application/x-sv4cpio"
+ },
+ {
+ "name": "application/x-sv4crc"
+ },
+ {
+ "name": "application/x-tar"
+ },
+ {
+ "name": "application/x-tbook"
+ },
+ {
+ "name": "application/x-tcl"
+ },
+ {
+ "name": "application/x-tex"
+ },
+ {
+ "name": "application/x-texinfo"
+ },
+ {
+ "name": "application/x-troff"
+ },
+ {
+ "name": "application/x-troff-man"
+ },
+ {
+ "name": "application/x-troff-me"
+ },
+ {
+ "name": "application/x-troff-ms"
+ },
+ {
+ "name": "application/x-troff-msvideo"
+ },
+ {
+ "name": "application/x-ustar"
+ },
+ {
+ "name": "application/x-visio"
+ },
+ {
+ "name": "application/x-vnd.audioexplosion.mzz"
+ },
+ {
+ "name": "application/x-vnd.ls-xpix"
+ },
+ {
+ "name": "application/x-vrml"
+ },
+ {
+ "name": "application/x-wais-source"
+ },
+ {
+ "name": "application/x-winhelp"
+ },
+ {
+ "name": "application/x-wintalk"
+ },
+ {
+ "name": "application/x-world"
+ },
+ {
+ "name": "application/x-wpwin"
+ },
+ {
+ "name": "application/x-wri"
+ },
+ {
+ "name": "application/x-x509-ca-cert"
+ },
+ {
+ "name": "application/x-x509-user-cert"
+ },
+ {
+ "name": "application/x-zip-compressed"
+ },
+ {
+ "name": "application/zip"
+ },
+ {
+ "name": "audio/aiff"
+ },
+ {
+ "name": "audio/basic"
+ },
+ {
+ "name": "audio/it"
+ },
+ {
+ "name": "audio/make"
+ },
+ {
+ "name": "audio/make.my.funk"
+ },
+ {
+ "name": "audio/mid"
+ },
+ {
+ "name": "audio/midi"
+ },
+ {
+ "name": "audio/mod"
+ },
+ {
+ "name": "audio/mpeg"
+ },
+ {
+ "name": "audio/mpeg3"
+ },
+ {
+ "name": "audio/nspaudio"
+ },
+ {
+ "name": "audio/s3m"
+ },
+ {
+ "name": "audio/tsp-audio"
+ },
+ {
+ "name": "audio/tsplayer"
+ },
+ {
+ "name": "audio/vnd.qcelp"
+ },
+ {
+ "name": "audio/voc"
+ },
+ {
+ "name": "audio/voxware"
+ },
+ {
+ "name": "audio/wav"
+ },
+ {
+ "name": "audio/x-adpcm"
+ },
+ {
+ "name": "audio/x-aiff"
+ },
+ {
+ "name": "audio/x-au"
+ },
+ {
+ "name": "audio/x-gsm"
+ },
+ {
+ "name": "audio/x-jam"
+ },
+ {
+ "name": "audio/x-liveaudio"
+ },
+ {
+ "name": "audio/xm"
+ },
+ {
+ "name": "audio/x-mid"
+ },
+ {
+ "name": "audio/x-midi"
+ },
+ {
+ "name": "audio/x-mod"
+ },
+ {
+ "name": "audio/x-mpeg"
+ },
+ {
+ "name": "audio/x-mpeg-3"
+ },
+ {
+ "name": "audio/x-mpequrl"
+ },
+ {
+ "name": "audio/x-nspaudio"
+ },
+ {
+ "name": "audio/x-pn-realaudio"
+ },
+ {
+ "name": "audio/x-pn-realaudio-plugin"
+ },
+ {
+ "name": "audio/x-psid"
+ },
+ {
+ "name": "audio/x-realaudio"
+ },
+ {
+ "name": "audio/x-twinvq"
+ },
+ {
+ "name": "audio/x-twinvq-plugin"
+ },
+ {
+ "name": "audio/x-vnd.audioexplosion.mjuicemediafile"
+ },
+ {
+ "name": "audio/x-voc"
+ },
+ {
+ "name": "audio/x-wav",
+ "extension": "wav"
+ },
+ {
+ "name": "chemical/x-pdb"
+ },
+ {
+ "name": "drawing/x-dwf (old)"
+ },
+ {
+ "name": "image/bmp",
+ "extension": "bmp"
+ },
+ {
+ "name": "image/cmu-raster"
+ },
+ {
+ "name": "image/fif"
+ },
+ {
+ "name": "image/florian"
+ },
+ {
+ "name": "image/g3fax"
+ },
+ {
+ "name": "image/gif",
+ "extension": "gif"
+ },
+ {
+ "name": "image/ief",
+ "extension": "ief"
+ },
+ {
+ "name": "image/jpeg",
+ "extension": "jpeg"
+ },
+ {
+ "name": "image/jutvision"
+ },
+ {
+ "name": "image/naplps"
+ },
+ {
+ "name": "image/pict",
+ "extension": "pict"
+ },
+ {
+ "name": "image/pjpeg",
+ "extension": "jpeg"
+ },
+ {
+ "name": "image/png",
+ "extension": "png"
+ },
+ {
+ "name": "image/tiff",
+ "extension": "tiff"
+ },
+ {
+ "name": "image/vasa"
+ },
+ {
+ "name": "image/vnd.dwg"
+ },
+ {
+ "name": "image/vnd.fpx"
+ },
+ {
+ "name": "image/vnd.net-fpx"
+ },
+ {
+ "name": "image/vnd.rn-realflash"
+ },
+ {
+ "name": "image/vnd.rn-realpix"
+ },
+ {
+ "name": "image/vnd.wap.wbmp"
+ },
+ {
+ "name": "image/vnd.xiff"
+ },
+ {
+ "name": "image/xbm"
+ },
+ {
+ "name": "image/x-cmu-raster"
+ },
+ {
+ "name": "image/x-dwg"
+ },
+ {
+ "name": "image/x-icon"
+ },
+ {
+ "name": "image/x-jg"
+ },
+ {
+ "name": "image/x-jps"
+ },
+ {
+ "name": "image/x-niff"
+ },
+ {
+ "name": "image/x-pcx"
+ },
+ {
+ "name": "image/x-pict"
+ },
+ {
+ "name": "image/xpm"
+ },
+ {
+ "name": "image/x-portable-anymap"
+ },
+ {
+ "name": "image/x-portable-bitmap"
+ },
+ {
+ "name": "image/x-portable-graymap"
+ },
+ {
+ "name": "image/x-portable-greymap"
+ },
+ {
+ "name": "image/x-portable-pixmap"
+ },
+ {
+ "name": "image/x-quicktime"
+ },
+ {
+ "name": "image/x-rgb"
+ },
+ {
+ "name": "image/x-tiff"
+ },
+ {
+ "name": "image/x-windows-bmp"
+ },
+ {
+ "name": "image/x-xbitmap"
+ },
+ {
+ "name": "image/x-xbm"
+ },
+ {
+ "name": "image/x-xpixmap"
+ },
+ {
+ "name": "image/x-xwd"
+ },
+ {
+ "name": "image/x-xwindowdump"
+ },
+ {
+ "name": "i-world/i-vrml"
+ },
+ {
+ "name": "message/rfc822"
+ },
+ {
+ "name": "model/iges"
+ },
+ {
+ "name": "model/vnd.dwf"
+ },
+ {
+ "name": "model/vrml"
+ },
+ {
+ "name": "model/x-pov"
+ },
+ {
+ "name": "multipart/x-gzip"
+ },
+ {
+ "name": "multipart/x-ustar"
+ },
+ {
+ "name": "multipart/x-zip"
+ },
+ {
+ "name": "music/crescendo"
+ },
+ {
+ "name": "music/x-karaoke"
+ },
+ {
+ "name": "paleovu/x-pv"
+ },
+ {
+ "name": "text/asp"
+ },
+ {
+ "name": "text/css"
+ },
+ {
+ "name": "text/ecmascript"
+ },
+ {
+ "name": "text/html",
+ "extension": "html"
+ },
+ {
+ "name": "text/javascript",
+ "extension": "js"
+ },
+ {
+ "name": "text/mcf"
+ },
+ {
+ "name": "text/pascal"
+ },
+ {
+ "name": "text/plain"
+ },
+ {
+ "name": "text/richtext"
+ },
+ {
+ "name": "text/scriplet"
+ },
+ {
+ "name": "text/sgml"
+ },
+ {
+ "name": "text/tab-separated-values"
+ },
+ {
+ "name": "text/uri-list"
+ },
+ {
+ "name": "text/vnd.abc"
+ },
+ {
+ "name": "text/vnd.fmi.flexstor"
+ },
+ {
+ "name": "text/vnd.rn-realtext"
+ },
+ {
+ "name": "text/vnd.wap.wml"
+ },
+ {
+ "name": "text/vnd.wap.wmlscript"
+ },
+ {
+ "name": "text/webviewhtml"
+ },
+ {
+ "name": "text/x-asm"
+ },
+ {
+ "name": "text/x-audiosoft-intra"
+ },
+ {
+ "name": "text/x-c"
+ },
+ {
+ "name": "text/x-component"
+ },
+ {
+ "name": "text/x-fortran"
+ },
+ {
+ "name": "text/x-h"
+ },
+ {
+ "name": "text/x-java-source"
+ },
+ {
+ "name": "text/x-la-asf"
+ },
+ {
+ "name": "text/x-m"
+ },
+ {
+ "name": "text/xml"
+ },
+ {
+ "name": "text/x-pascal"
+ },
+ {
+ "name": "text/x-script"
+ },
+ {
+ "name": "text/x-script.csh"
+ },
+ {
+ "name": "text/x-script.elisp"
+ },
+ {
+ "name": "text/x-script.guile"
+ },
+ {
+ "name": "text/x-script.ksh"
+ },
+ {
+ "name": "text/x-script.lisp"
+ },
+ {
+ "name": "text/x-script.perl"
+ },
+ {
+ "name": "text/x-script.perl-module"
+ },
+ {
+ "name": "text/x-script.phyton"
+ },
+ {
+ "name": "text/x-script.rexx"
+ },
+ {
+ "name": "text/x-script.scheme"
+ },
+ {
+ "name": "text/x-script.sh"
+ },
+ {
+ "name": "text/x-script.tcl"
+ },
+ {
+ "name": "text/x-script.tcsh"
+ },
+ {
+ "name": "text/x-script.zsh"
+ },
+ {
+ "name": "text/x-server-parsed-html"
+ },
+ {
+ "name": "text/x-setext"
+ },
+ {
+ "name": "text/x-sgml"
+ },
+ {
+ "name": "text/x-speech"
+ },
+ {
+ "name": "text/x-uil"
+ },
+ {
+ "name": "text/x-uuencode"
+ },
+ {
+ "name": "text/x-vcalendar"
+ },
+ {
+ "name": "video/animaflex"
+ },
+ {
+ "name": "video/avi"
+ },
+ {
+ "name": "video/avs-video"
+ },
+ {
+ "name": "video/dl"
+ },
+ {
+ "name": "video/fli"
+ },
+ {
+ "name": "video/gl"
+ },
+ {
+ "name": "video/mpeg"
+ },
+ {
+ "name": "video/msvideo"
+ },
+ {
+ "name": "video/quicktime"
+ },
+ {
+ "name": "video/vdo"
+ },
+ {
+ "name": "video/vivo"
+ },
+ {
+ "name": "video/vnd.rn-realvideo"
+ },
+ {
+ "name": "video/vnd.vivo"
+ },
+ {
+ "name": "video/vosaic"
+ },
+ {
+ "name": "video/x-amt-demorun"
+ },
+ {
+ "name": "video/x-amt-showrun"
+ },
+ {
+ "name": "video/x-atomic3d-feature"
+ },
+ {
+ "name": "video/x-dl"
+ },
+ {
+ "name": "video/x-dv"
+ },
+ {
+ "name": "video/x-fli"
+ },
+ {
+ "name": "video/x-gl"
+ },
+ {
+ "name": "video/x-isvideo"
+ },
+ {
+ "name": "video/x-motion-jpeg"
+ },
+ {
+ "name": "video/x-mpeg"
+ },
+ {
+ "name": "video/x-mpeq2a"
+ },
+ {
+ "name": "video/x-ms-asf"
+ },
+ {
+ "name": "video/x-ms-asf-plugin"
+ },
+ {
+ "name": "video/x-msvideo"
+ },
+ {
+ "name": "video/x-qtc"
+ },
+ {
+ "name": "video/x-scm"
+ },
+ {
+ "name": "video/x-sgi-movie"
+ },
+ {
+ "name": "windows/metafile"
+ },
+ {
+ "name": "www/mime"
+ },
+ {
+ "name": "x-conference/x-cooltalk"
+ },
+ {
+ "name": "xgl/drawing"
+ },
+ {
+ "name": "xgl/movie"
+ },
+ {
+ "name": "x-music/x-midi"
+ },
+ {
+ "name": "x-world/x-3dmf"
+ },
+ {
+ "name": "x-world/x-svr"
+ },
+ {
+ "name": "x-world/x-vrml"
+ },
+ {
+ "name": "x-world/x-vrt"
+ }
+]