Repository: syncope Updated Branches: refs/heads/master 1cd6154b5 -> 2168ef7bf
[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/2168ef7b Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/2168ef7b Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/2168ef7b Branch: refs/heads/master Commit: 2168ef7bf8f9487c0483b6ab9a5a1a9740a53a41 Parents: 1cd6154 Author: skylark17 <matteo.alessandr...@tirasa.net> Authored: Tue Aug 8 16:24:53 2017 +0200 Committer: skylark17 <matteo.alessandr...@tirasa.net> Committed: Tue Aug 8 16:26:39 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/2168ef7b/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/2168ef7b/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/2168ef7b/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/2168ef7b/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/2168ef7b/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/2168ef7b/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/2168ef7b/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" + } +]