Makefile.in: Rebuilt.
* Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Add gnu/gcj/io/DefaultMimeTypes.java and gnu/gcj/io/MimeTypes.java * scripts/MakeDefaultMimeTypes.java: New file. * scripts/mime.types: New file. * scripts/classes.pl: Moved from top level. * classes.pl: Moved to scripts directory. * java/net/URLConnection.java: Implement guessContentTypeFromName. * gnu/gcj/io/MimeTypes.java: New file. * gnu/gcj/io/DefaultMimeTypes.java: New file. From-SVN: r32086
This commit is contained in:
parent
38b3a2c089
commit
06440a12a2
@ -522,6 +522,8 @@ built_java_source_files = java/lang/ConcreteProcess.java
|
|||||||
## convert_source_files. If the .java file has a hand-maintained
|
## convert_source_files. If the .java file has a hand-maintained
|
||||||
## header, please list it in special_java_source_files.
|
## header, please list it in special_java_source_files.
|
||||||
ordinary_java_source_files = $(convert_source_files) \
|
ordinary_java_source_files = $(convert_source_files) \
|
||||||
|
gnu/gcj/io/DefaultMimeTypes.java \
|
||||||
|
gnu/gcj/io/MimeTypes.java \
|
||||||
gnu/gcj/jni/NativeThread.java \
|
gnu/gcj/jni/NativeThread.java \
|
||||||
gnu/gcj/runtime/MethodInvocation.java \
|
gnu/gcj/runtime/MethodInvocation.java \
|
||||||
gnu/gcj/runtime/VMClassLoader.java \
|
gnu/gcj/runtime/VMClassLoader.java \
|
||||||
|
@ -326,6 +326,8 @@ java/awt/peer/WindowPeer.java
|
|||||||
built_java_source_files = java/lang/ConcreteProcess.java
|
built_java_source_files = java/lang/ConcreteProcess.java
|
||||||
|
|
||||||
ordinary_java_source_files = $(convert_source_files) \
|
ordinary_java_source_files = $(convert_source_files) \
|
||||||
|
gnu/gcj/io/DefaultMimeTypes.java \
|
||||||
|
gnu/gcj/io/MimeTypes.java \
|
||||||
gnu/gcj/jni/NativeThread.java \
|
gnu/gcj/jni/NativeThread.java \
|
||||||
gnu/gcj/runtime/MethodInvocation.java \
|
gnu/gcj/runtime/MethodInvocation.java \
|
||||||
gnu/gcj/runtime/VMClassLoader.java \
|
gnu/gcj/runtime/VMClassLoader.java \
|
||||||
@ -732,13 +734,12 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
|||||||
DATA = $(data_DATA) $(toolexeclib_DATA)
|
DATA = $(data_DATA) $(toolexeclib_DATA)
|
||||||
|
|
||||||
DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
|
DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
|
||||||
THANKS acconfig.h acinclude.m4 aclocal.m4 configure configure.in \
|
THANKS acinclude.m4 aclocal.m4 configure configure.in libgcj.spec.in
|
||||||
include/config.h.in include/stamp-h.in libgcj.spec.in
|
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
||||||
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||||
@ -755,8 +756,10 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
|||||||
.deps/gnu/gcj/convert/Output_JavaSrc.P \
|
.deps/gnu/gcj/convert/Output_JavaSrc.P \
|
||||||
.deps/gnu/gcj/convert/Output_SJIS.P .deps/gnu/gcj/convert/Output_UTF8.P \
|
.deps/gnu/gcj/convert/Output_SJIS.P .deps/gnu/gcj/convert/Output_UTF8.P \
|
||||||
.deps/gnu/gcj/convert/Output_iconv.P \
|
.deps/gnu/gcj/convert/Output_iconv.P \
|
||||||
.deps/gnu/gcj/convert/UnicodeToBytes.P .deps/gnu/gcj/jni/NativeThread.P \
|
.deps/gnu/gcj/convert/UnicodeToBytes.P \
|
||||||
.deps/gnu/gcj/math/MPN.P .deps/gnu/gcj/protocol/file/Connection.P \
|
.deps/gnu/gcj/io/DefaultMimeTypes.P .deps/gnu/gcj/io/MimeTypes.P \
|
||||||
|
.deps/gnu/gcj/jni/NativeThread.P .deps/gnu/gcj/math/MPN.P \
|
||||||
|
.deps/gnu/gcj/protocol/file/Connection.P \
|
||||||
.deps/gnu/gcj/protocol/file/Handler.P \
|
.deps/gnu/gcj/protocol/file/Handler.P \
|
||||||
.deps/gnu/gcj/protocol/http/Connection.P \
|
.deps/gnu/gcj/protocol/http/Connection.P \
|
||||||
.deps/gnu/gcj/protocol/http/Handler.P \
|
.deps/gnu/gcj/protocol/http/Handler.P \
|
||||||
@ -958,34 +961,6 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|||||||
$(SHELL) ./config.status --recheck
|
$(SHELL) ./config.status --recheck
|
||||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||||
cd $(srcdir) && $(AUTOCONF)
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
|
|
||||||
include/config.h: include/stamp-h
|
|
||||||
@if test ! -f $@; then \
|
|
||||||
rm -f include/stamp-h; \
|
|
||||||
$(MAKE) include/stamp-h; \
|
|
||||||
else :; fi
|
|
||||||
include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status
|
|
||||||
cd $(top_builddir) \
|
|
||||||
&& CONFIG_FILES= CONFIG_HEADERS=include/config.h \
|
|
||||||
$(SHELL) ./config.status
|
|
||||||
@echo timestamp > include/stamp-h 2> /dev/null
|
|
||||||
$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in
|
|
||||||
@if test ! -f $@; then \
|
|
||||||
rm -f $(srcdir)/include/stamp-h.in; \
|
|
||||||
$(MAKE) $(srcdir)/include/stamp-h.in; \
|
|
||||||
else :; fi
|
|
||||||
$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
|
|
||||||
cd $(top_srcdir) && $(AUTOHEADER)
|
|
||||||
@echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null
|
|
||||||
|
|
||||||
mostlyclean-hdr:
|
|
||||||
|
|
||||||
clean-hdr:
|
|
||||||
|
|
||||||
distclean-hdr:
|
|
||||||
-rm -f include/config.h
|
|
||||||
|
|
||||||
maintainer-clean-hdr:
|
|
||||||
libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
|
libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
|
||||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
@ -1309,7 +1284,7 @@ distdir: $(DISTFILES)
|
|||||||
@for file in $(DISTFILES); do \
|
@for file in $(DISTFILES); do \
|
||||||
d=$(srcdir); \
|
d=$(srcdir); \
|
||||||
if test -d $$d/$$file; then \
|
if test -d $$d/$$file; then \
|
||||||
cp -pr $$/$$file $(distdir)/$$file; \
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
else \
|
else \
|
||||||
test -f $(distdir)/$$file \
|
test -f $(distdir)/$$file \
|
||||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
@ -1424,33 +1399,31 @@ distclean-generic:
|
|||||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
mostlyclean-am: mostlyclean-hdr mostlyclean-toolexeclibLIBRARIES \
|
mostlyclean-am: mostlyclean-toolexeclibLIBRARIES mostlyclean-compile \
|
||||||
mostlyclean-compile mostlyclean-libtool \
|
mostlyclean-libtool mostlyclean-toolexeclibLTLIBRARIES \
|
||||||
mostlyclean-toolexeclibLTLIBRARIES \
|
|
||||||
mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
|
mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
|
||||||
mostlyclean-tags mostlyclean-depend mostlyclean-generic
|
mostlyclean-tags mostlyclean-depend mostlyclean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
clean-am: clean-hdr clean-toolexeclibLIBRARIES clean-compile \
|
clean-am: clean-toolexeclibLIBRARIES clean-compile clean-libtool \
|
||||||
clean-libtool clean-toolexeclibLTLIBRARIES \
|
clean-toolexeclibLTLIBRARIES clean-binPROGRAMS \
|
||||||
clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \
|
clean-noinstPROGRAMS clean-tags clean-depend \
|
||||||
clean-depend clean-generic mostlyclean-am clean-local
|
clean-generic mostlyclean-am clean-local
|
||||||
|
|
||||||
clean: clean-recursive
|
clean: clean-recursive
|
||||||
|
|
||||||
distclean-am: distclean-hdr distclean-toolexeclibLIBRARIES \
|
distclean-am: distclean-toolexeclibLIBRARIES distclean-compile \
|
||||||
distclean-compile distclean-libtool \
|
distclean-libtool distclean-toolexeclibLTLIBRARIES \
|
||||||
distclean-toolexeclibLTLIBRARIES distclean-binPROGRAMS \
|
distclean-binPROGRAMS distclean-noinstPROGRAMS \
|
||||||
distclean-noinstPROGRAMS distclean-tags \
|
distclean-tags distclean-depend distclean-generic \
|
||||||
distclean-depend distclean-generic clean-am
|
clean-am
|
||||||
-rm -f libtool
|
-rm -f libtool
|
||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f config.status
|
-rm -f config.status
|
||||||
|
|
||||||
maintainer-clean-am: maintainer-clean-hdr \
|
maintainer-clean-am: maintainer-clean-toolexeclibLIBRARIES \
|
||||||
maintainer-clean-toolexeclibLIBRARIES \
|
|
||||||
maintainer-clean-compile maintainer-clean-libtool \
|
maintainer-clean-compile maintainer-clean-libtool \
|
||||||
maintainer-clean-toolexeclibLTLIBRARIES \
|
maintainer-clean-toolexeclibLTLIBRARIES \
|
||||||
maintainer-clean-binPROGRAMS \
|
maintainer-clean-binPROGRAMS \
|
||||||
@ -1463,8 +1436,7 @@ maintainer-clean-am: maintainer-clean-hdr \
|
|||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f config.status
|
-rm -f config.status
|
||||||
|
|
||||||
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
|
.PHONY: mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
|
||||||
mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
|
|
||||||
clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \
|
clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \
|
||||||
uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \
|
uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \
|
||||||
mostlyclean-compile distclean-compile clean-compile \
|
mostlyclean-compile distclean-compile clean-compile \
|
||||||
|
139
libjava/gnu/gcj/io/DefaultMimeTypes.java
Normal file
139
libjava/gnu/gcj/io/DefaultMimeTypes.java
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
// Do not edit this file! Create a new version with MakeDefaultMimeTypes.
|
||||||
|
|
||||||
|
/* Copyright (C) 2000 Red Hat, Inc.
|
||||||
|
|
||||||
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
This software is copyrighted work licensed under the terms of the
|
||||||
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
package gnu.gcj.io;
|
||||||
|
|
||||||
|
public class DefaultMimeTypes
|
||||||
|
{
|
||||||
|
public static final String[] types = {
|
||||||
|
"midi", "audio/midi"
|
||||||
|
, "sit", "application/x-stuffit"
|
||||||
|
, "ram", "audio/x-pn-realaudio"
|
||||||
|
, "ez", "application/andrew-inset"
|
||||||
|
, "jpeg", "image/jpeg"
|
||||||
|
, "sv4crc", "application/x-sv4crc"
|
||||||
|
, "sv4cpio", "application/x-sv4cpio"
|
||||||
|
, "txt", "text/plain"
|
||||||
|
, "spl", "application/x-futuresplash"
|
||||||
|
, "ras", "image/x-cmu-raster"
|
||||||
|
, "sh", "application/x-sh"
|
||||||
|
, "dcr", "application/x-director"
|
||||||
|
, "msh", "model/mesh"
|
||||||
|
, "swf", "application/x-shockwave-flash"
|
||||||
|
, "hdf", "application/x-hdf"
|
||||||
|
, "bcpio", "application/x-bcpio"
|
||||||
|
, "zip", "application/zip"
|
||||||
|
, "gif", "image/gif"
|
||||||
|
, "me", "application/x-troff-me"
|
||||||
|
, "gtar", "application/x-gtar"
|
||||||
|
, "tex", "application/x-tex"
|
||||||
|
, "xyz", "chemical/x-pdb"
|
||||||
|
, "hqx", "application/mac-binhex40"
|
||||||
|
, "ms", "application/x-troff-ms"
|
||||||
|
, "oda", "application/oda"
|
||||||
|
, "vcd", "application/x-cdlink"
|
||||||
|
, "aifc", "audio/x-aiff"
|
||||||
|
, "skd", "application/x-koan"
|
||||||
|
, "smil", "application/smil"
|
||||||
|
, "asc", "text/plain"
|
||||||
|
, "aiff", "audio/x-aiff"
|
||||||
|
, "xml", "text/xml"
|
||||||
|
, "tr", "application/x-troff"
|
||||||
|
, "nc", "application/x-netcdf"
|
||||||
|
, "dxr", "application/x-director"
|
||||||
|
, "skm", "application/x-koan"
|
||||||
|
, "wrl", "model/vrml"
|
||||||
|
, "tsv", "text/tab-separated-values"
|
||||||
|
, "mpeg", "video/mpeg"
|
||||||
|
, "skp", "application/x-koan"
|
||||||
|
, "src", "application/x-wais-source"
|
||||||
|
, "rpm", "application/x-rpm"
|
||||||
|
, "skt", "application/x-koan"
|
||||||
|
, "ai", "application/postscript"
|
||||||
|
, "cpt", "application/mac-compactpro"
|
||||||
|
, "mp2", "audio/mpeg"
|
||||||
|
, "man", "application/x-troff-man"
|
||||||
|
, "mp3", "audio/mpeg"
|
||||||
|
, "mesh", "model/mesh"
|
||||||
|
, "igs", "model/iges"
|
||||||
|
, "shar", "application/x-shar"
|
||||||
|
, "au", "audio/basic"
|
||||||
|
, "texi", "application/x-texinfo"
|
||||||
|
, "cpio", "application/x-cpio"
|
||||||
|
, "jpe", "image/jpeg"
|
||||||
|
, "lzh", "application/octet-stream"
|
||||||
|
, "jpg", "image/jpeg"
|
||||||
|
, "cdf", "application/x-netcdf"
|
||||||
|
, "etx", "text/x-setext"
|
||||||
|
, "texinfo", "application/x-texinfo"
|
||||||
|
, "sgml", "text/sgml"
|
||||||
|
, "roff", "application/x-troff"
|
||||||
|
, "pgm", "image/x-portable-graymap"
|
||||||
|
, "pgn", "application/x-chess-pgn"
|
||||||
|
, "bin", "application/octet-stream"
|
||||||
|
, "png", "image/png"
|
||||||
|
, "tar", "application/x-tar"
|
||||||
|
, "mid", "audio/midi"
|
||||||
|
, "mov", "video/quicktime"
|
||||||
|
, "movie", "video/x-sgi-movie"
|
||||||
|
, "mif", "application/vnd.mif"
|
||||||
|
, "pnm", "image/x-portable-anymap"
|
||||||
|
, "mpga", "audio/mpeg"
|
||||||
|
, "smi", "application/smil"
|
||||||
|
, "t", "application/x-troff"
|
||||||
|
, "tiff", "image/tiff"
|
||||||
|
, "xbm", "image/x-xbitmap"
|
||||||
|
, "htm", "text/html"
|
||||||
|
, "mpe", "video/mpeg"
|
||||||
|
, "dms", "application/octet-stream"
|
||||||
|
, "mpg", "video/mpeg"
|
||||||
|
, "lha", "application/octet-stream"
|
||||||
|
, "latex", "application/x-latex"
|
||||||
|
, "ps", "application/postscript"
|
||||||
|
, "sgm", "text/sgml"
|
||||||
|
, "tif", "image/tiff"
|
||||||
|
, "ice", "x-conference/x-cooltalk"
|
||||||
|
, "snd", "audio/basic"
|
||||||
|
, "html", "text/html"
|
||||||
|
, "pbm", "image/x-portable-bitmap"
|
||||||
|
, "xpm", "image/x-xpixmap"
|
||||||
|
, "iges", "model/iges"
|
||||||
|
, "aif", "audio/x-aiff"
|
||||||
|
, "avi", "video/x-msvideo"
|
||||||
|
, "csh", "application/x-csh"
|
||||||
|
, "wav", "audio/x-wav"
|
||||||
|
, "xwd", "image/x-xwindowdump"
|
||||||
|
, "js", "application/x-javascript"
|
||||||
|
, "silo", "model/mesh"
|
||||||
|
, "vrml", "model/vrml"
|
||||||
|
, "tcl", "application/x-tcl"
|
||||||
|
, "css", "text/css"
|
||||||
|
, "eps", "application/postscript"
|
||||||
|
, "class", "application/octet-stream"
|
||||||
|
, "qt", "video/quicktime"
|
||||||
|
, "doc", "application/msword"
|
||||||
|
, "ustar", "application/x-ustar"
|
||||||
|
, "ppm", "image/x-portable-pixmap"
|
||||||
|
, "ppt", "application/vnd.ms-powerpoint"
|
||||||
|
, "ra", "audio/x-realaudio"
|
||||||
|
, "rgb", "image/x-rgb"
|
||||||
|
, "rtf", "text/rtf"
|
||||||
|
, "kar", "audio/midi"
|
||||||
|
, "dvi", "application/x-dvi"
|
||||||
|
, "rm", "audio/x-pn-realaudio"
|
||||||
|
, "exe", "application/octet-stream"
|
||||||
|
, "pdb", "chemical/x-pdb"
|
||||||
|
, "pdf", "application/pdf"
|
||||||
|
, "rtx", "text/richtext"
|
||||||
|
, "dir", "application/x-director"
|
||||||
|
, "ief", "image/ief"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
86
libjava/gnu/gcj/io/MimeTypes.java
Normal file
86
libjava/gnu/gcj/io/MimeTypes.java
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/* Copyright (C) 2000 Red Hat, Inc.
|
||||||
|
|
||||||
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
This software is copyrighted work licensed under the terms of the
|
||||||
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
package gnu.gcj.io;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
public class MimeTypes
|
||||||
|
{
|
||||||
|
private static Hashtable mime_types;
|
||||||
|
|
||||||
|
public static void fillFromFile (Hashtable table, String fname)
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
LineNumberReader reader =
|
||||||
|
new LineNumberReader (new FileReader (fname));
|
||||||
|
|
||||||
|
while (reader.ready ())
|
||||||
|
{
|
||||||
|
StringTokenizer tokenizer =
|
||||||
|
new StringTokenizer (reader.readLine ());
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
String t = tokenizer.nextToken ();
|
||||||
|
|
||||||
|
if (! t.startsWith ("#"))
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
// Read the next extension
|
||||||
|
String e = tokenizer.nextToken ();
|
||||||
|
if (! e.startsWith ("#"))
|
||||||
|
table.put (e, t);
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (NoSuchElementException ex) {
|
||||||
|
// Do nothing.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is the primary interface to this class.
|
||||||
|
public static String getMimeTypeFromExtension (String extension)
|
||||||
|
{
|
||||||
|
if (mime_types == null)
|
||||||
|
{
|
||||||
|
mime_types = new Hashtable ();
|
||||||
|
|
||||||
|
// First populate the hash table with the default mime type
|
||||||
|
// mappings.
|
||||||
|
int i = DefaultMimeTypes.types.length;
|
||||||
|
while (i > 1)
|
||||||
|
{
|
||||||
|
mime_types.put (DefaultMimeTypes.types[i - 2],
|
||||||
|
DefaultMimeTypes.types[i - 1]);
|
||||||
|
i = i - 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now read mime types from /etc/mime.types if it exists.
|
||||||
|
// This should override the default values.
|
||||||
|
try {
|
||||||
|
fillFromFile (mime_types, "/etc/mime.types");
|
||||||
|
} catch (IOException ex) {
|
||||||
|
// Do nothing.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now read mime types from ~/.mime.types.
|
||||||
|
// FIXME: We can't currently parse this file.
|
||||||
|
}
|
||||||
|
|
||||||
|
String type = (String) mime_types.get (extension);
|
||||||
|
if (type == null)
|
||||||
|
return ("application/octet-stream");
|
||||||
|
else
|
||||||
|
return (type);
|
||||||
|
}
|
||||||
|
}
|
@ -18,6 +18,7 @@ import java.util.Date;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
import gnu.gcj.io.MimeTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Warren Levy <warrenl@cygnus.com>
|
* @author Warren Levy <warrenl@cygnus.com>
|
||||||
@ -27,7 +28,7 @@ import java.util.StringTokenizer;
|
|||||||
/**
|
/**
|
||||||
* Written using on-line Java Platform 1.2 API Specification, as well
|
* Written using on-line Java Platform 1.2 API Specification, as well
|
||||||
* as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
|
* as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
|
||||||
* Status: Two guessContentTypeFrom... methods not implemented.
|
* Status: One guessContentTypeFrom... methods not implemented.
|
||||||
* getContent method assumes content type from response; see comment there.
|
* getContent method assumes content type from response; see comment there.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -312,9 +313,25 @@ public abstract class URLConnection
|
|||||||
factory = fac;
|
factory = fac;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: protected static String guessContentTypeFromName(String fname)
|
protected static String guessContentTypeFromName(String fname)
|
||||||
// {
|
{
|
||||||
// }
|
int dot = fname.lastIndexOf (".");
|
||||||
|
|
||||||
|
if (dot != -1)
|
||||||
|
{
|
||||||
|
if (dot == fname.length())
|
||||||
|
return ("application/octet-stream");
|
||||||
|
else
|
||||||
|
fname = fname.substring (dot + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
String type = MimeTypes.getMimeTypeFromExtension (fname);
|
||||||
|
|
||||||
|
if (type == null)
|
||||||
|
return("application/octet-stream");
|
||||||
|
|
||||||
|
return(type);
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: public static String guessContentTypeFromStream(InputStream is)
|
// TODO: public static String guessContentTypeFromStream(InputStream is)
|
||||||
// throws IOException
|
// throws IOException
|
||||||
|
93
libjava/scripts/MakeDefaultMimeTypes.java
Normal file
93
libjava/scripts/MakeDefaultMimeTypes.java
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/* Copyright (C) 2000 Red Hat, Inc.
|
||||||
|
|
||||||
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
This software is copyrighted work licensed under the terms of the
|
||||||
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
import gnu.gcj.io.MimeTypes;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.Hashtable;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
|
public class MakeDefaultMimeTypes
|
||||||
|
{
|
||||||
|
private static void fatal (String message)
|
||||||
|
{
|
||||||
|
System.err.println ("MakeDefaultMimeTypes Error: " + message);
|
||||||
|
System.exit (-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main (String[] args)
|
||||||
|
{
|
||||||
|
Hashtable mime_table = new Hashtable ();
|
||||||
|
|
||||||
|
if (args.length != 1)
|
||||||
|
fatal ("missing mime type filename");
|
||||||
|
|
||||||
|
try {
|
||||||
|
MimeTypes.fillFromFile (mime_table, args[0]);
|
||||||
|
} catch (FileNotFoundException ex) {
|
||||||
|
fatal ("can't open " + args[0]);
|
||||||
|
} catch (IOException ex) {
|
||||||
|
fatal ("error reading " + args[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println ("// Do not edit this file! Create a new version with MakeDefaultMimeTypes.\
|
||||||
|
\
|
||||||
|
/* Copyright (C) 2000 Red Hat, Inc.\
|
||||||
|
\
|
||||||
|
This file is part of libgcj.\
|
||||||
|
\
|
||||||
|
This software is copyrighted work licensed under the terms of the\
|
||||||
|
Libgcj License. Please consult the file \"LIBGCJ_LICENSE\" for\
|
||||||
|
details. */\
|
||||||
|
\
|
||||||
|
package gnu.gcj.io; \
|
||||||
|
\
|
||||||
|
public class DefaultMimeTypes\
|
||||||
|
{\
|
||||||
|
public static final String[] types = {");
|
||||||
|
|
||||||
|
Enumeration keys = mime_table.keys();
|
||||||
|
Enumeration values = mime_table.elements();
|
||||||
|
|
||||||
|
// Prepend first element with open bracket
|
||||||
|
StringBuffer result = new StringBuffer("");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
result.append(" \""
|
||||||
|
+ keys.nextElement().toString()
|
||||||
|
+ "\",\t\""
|
||||||
|
+ values.nextElement().toString()
|
||||||
|
+ "\"\n");
|
||||||
|
}
|
||||||
|
catch (NoSuchElementException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepend subsequent elements with ", "
|
||||||
|
try
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
result.append(" , \""
|
||||||
|
+ keys.nextElement().toString()
|
||||||
|
+ "\",\t\""
|
||||||
|
+ values.nextElement().toString()
|
||||||
|
+ "\"\n");
|
||||||
|
}
|
||||||
|
catch (NoSuchElementException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// Append last element with closing bracket
|
||||||
|
result.append(" };\
|
||||||
|
}\
|
||||||
|
");
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
276
libjava/scripts/mime.types
Normal file
276
libjava/scripts/mime.types
Normal file
@ -0,0 +1,276 @@
|
|||||||
|
# This is the default mime.types file from the Apache web server distribution
|
||||||
|
|
||||||
|
# This file controls what Internet media types are sent to the client for
|
||||||
|
# given file extension(s). Sending the correct media type to the client
|
||||||
|
# is important so they know how to handle the content of the file.
|
||||||
|
# Extra types can either be added here or by using an AddType directive
|
||||||
|
# in your config files. For more information about Internet media types,
|
||||||
|
# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
|
||||||
|
# registry is at <ftp://ftp.iana.org/in-notes/iana/assignments/media-types/>.
|
||||||
|
|
||||||
|
# MIME type Extension
|
||||||
|
application/EDI-Consent
|
||||||
|
application/EDI-X12
|
||||||
|
application/EDIFACT
|
||||||
|
application/activemessage
|
||||||
|
application/andrew-inset ez
|
||||||
|
application/applefile
|
||||||
|
application/atomicmail
|
||||||
|
application/cals-1840
|
||||||
|
application/commonground
|
||||||
|
application/cybercash
|
||||||
|
application/dca-rft
|
||||||
|
application/dec-dx
|
||||||
|
application/eshop
|
||||||
|
application/hyperstudio
|
||||||
|
application/iges
|
||||||
|
application/mac-binhex40 hqx
|
||||||
|
application/mac-compactpro cpt
|
||||||
|
application/macwriteii
|
||||||
|
application/marc
|
||||||
|
application/mathematica
|
||||||
|
application/msword doc
|
||||||
|
application/news-message-id
|
||||||
|
application/news-transmission
|
||||||
|
application/octet-stream bin dms lha lzh exe class
|
||||||
|
application/oda oda
|
||||||
|
application/pdf pdf
|
||||||
|
application/pgp-encrypted
|
||||||
|
application/pgp-keys
|
||||||
|
application/pgp-signature
|
||||||
|
application/pkcs10
|
||||||
|
application/pkcs7-mime
|
||||||
|
application/pkcs7-signature
|
||||||
|
application/postscript ai eps ps
|
||||||
|
application/prs.alvestrand.titrax-sheet
|
||||||
|
application/prs.cww
|
||||||
|
application/prs.nprend
|
||||||
|
application/remote-printing
|
||||||
|
application/riscos
|
||||||
|
application/rtf rtf
|
||||||
|
application/set-payment
|
||||||
|
application/set-payment-initiation
|
||||||
|
application/set-registration
|
||||||
|
application/set-registration-initiation
|
||||||
|
application/sgml
|
||||||
|
application/sgml-open-catalog
|
||||||
|
application/slate
|
||||||
|
application/smil smi smil
|
||||||
|
application/vemmi
|
||||||
|
application/vnd.3M.Post-it-Notes
|
||||||
|
application/vnd.FloGraphIt
|
||||||
|
application/vnd.acucobol
|
||||||
|
application/vnd.anser-web-certificate-issue-initiation
|
||||||
|
application/vnd.anser-web-funds-transfer-initiation
|
||||||
|
application/vnd.audiograph
|
||||||
|
application/vnd.businessobjects
|
||||||
|
application/vnd.claymore
|
||||||
|
application/vnd.comsocaller
|
||||||
|
application/vnd.dna
|
||||||
|
application/vnd.dxr
|
||||||
|
application/vnd.ecdis-update
|
||||||
|
application/vnd.ecowin.chart
|
||||||
|
application/vnd.ecowin.filerequest
|
||||||
|
application/vnd.ecowin.fileupdate
|
||||||
|
application/vnd.ecowin.series
|
||||||
|
application/vnd.ecowin.seriesrequest
|
||||||
|
application/vnd.ecowin.seriesupdate
|
||||||
|
application/vnd.enliven
|
||||||
|
application/vnd.epson.salt
|
||||||
|
application/vnd.fdf
|
||||||
|
application/vnd.ffsns
|
||||||
|
application/vnd.framemaker
|
||||||
|
application/vnd.fujitsu.oasys
|
||||||
|
application/vnd.fujitsu.oasys2
|
||||||
|
application/vnd.fujitsu.oasys3
|
||||||
|
application/vnd.fujitsu.oasysgp
|
||||||
|
application/vnd.fujitsu.oasysprs
|
||||||
|
application/vnd.fujixerox.docuworks
|
||||||
|
application/vnd.hp-HPGL
|
||||||
|
application/vnd.hp-PCL
|
||||||
|
application/vnd.hp-PCLXL
|
||||||
|
application/vnd.hp-hps
|
||||||
|
application/vnd.ibm.MiniPay
|
||||||
|
application/vnd.ibm.modcap
|
||||||
|
application/vnd.intercon.formnet
|
||||||
|
application/vnd.intertrust.digibox
|
||||||
|
application/vnd.intertrust.nncp
|
||||||
|
application/vnd.is-xpr
|
||||||
|
application/vnd.japannet-directory-service
|
||||||
|
application/vnd.japannet-jpnstore-wakeup
|
||||||
|
application/vnd.japannet-payment-wakeup
|
||||||
|
application/vnd.japannet-registration
|
||||||
|
application/vnd.japannet-registration-wakeup
|
||||||
|
application/vnd.japannet-setstore-wakeup
|
||||||
|
application/vnd.japannet-verification
|
||||||
|
application/vnd.japannet-verification-wakeup
|
||||||
|
application/vnd.koan
|
||||||
|
application/vnd.lotus-1-2-3
|
||||||
|
application/vnd.lotus-approach
|
||||||
|
application/vnd.lotus-freelance
|
||||||
|
application/vnd.lotus-organizer
|
||||||
|
application/vnd.lotus-screencam
|
||||||
|
application/vnd.lotus-wordpro
|
||||||
|
application/vnd.meridian-slingshot
|
||||||
|
application/vnd.mif mif
|
||||||
|
application/vnd.minisoft-hp3000-save
|
||||||
|
application/vnd.mitsubishi.misty-guard.trustweb
|
||||||
|
application/vnd.ms-artgalry
|
||||||
|
application/vnd.ms-asf
|
||||||
|
application/vnd.ms-excel
|
||||||
|
application/vnd.ms-powerpoint ppt
|
||||||
|
application/vnd.ms-project
|
||||||
|
application/vnd.ms-tnef
|
||||||
|
application/vnd.ms-works
|
||||||
|
application/vnd.music-niff
|
||||||
|
application/vnd.musician
|
||||||
|
application/vnd.netfpx
|
||||||
|
application/vnd.noblenet-directory
|
||||||
|
application/vnd.noblenet-sealer
|
||||||
|
application/vnd.noblenet-web
|
||||||
|
application/vnd.novadigm.EDM
|
||||||
|
application/vnd.novadigm.EDX
|
||||||
|
application/vnd.novadigm.EXT
|
||||||
|
application/vnd.osa.netdeploy
|
||||||
|
application/vnd.powerbuilder6
|
||||||
|
application/vnd.powerbuilder6-s
|
||||||
|
application/vnd.rapid
|
||||||
|
application/vnd.seemail
|
||||||
|
application/vnd.shana.informed.formtemplate
|
||||||
|
application/vnd.shana.informed.interchange
|
||||||
|
application/vnd.shana.informed.package
|
||||||
|
application/vnd.street-stream
|
||||||
|
application/vnd.svd
|
||||||
|
application/vnd.swiftview-ics
|
||||||
|
application/vnd.truedoc
|
||||||
|
application/vnd.visio
|
||||||
|
application/vnd.webturbo
|
||||||
|
application/vnd.wrq-hp3000-labelled
|
||||||
|
application/vnd.wt.stf
|
||||||
|
application/vnd.xara
|
||||||
|
application/vnd.yellowriver-custom-menu
|
||||||
|
application/wita
|
||||||
|
application/wordperfect5.1
|
||||||
|
application/x-bcpio bcpio
|
||||||
|
application/x-cdlink vcd
|
||||||
|
application/x-chess-pgn pgn
|
||||||
|
application/x-compress
|
||||||
|
application/x-cpio cpio
|
||||||
|
application/x-csh csh
|
||||||
|
application/x-director dcr dir dxr
|
||||||
|
application/x-dvi dvi
|
||||||
|
application/x-futuresplash spl
|
||||||
|
application/x-gtar gtar
|
||||||
|
application/x-gzip
|
||||||
|
application/x-hdf hdf
|
||||||
|
application/x-javascript js
|
||||||
|
application/x-koan skp skd skt skm
|
||||||
|
application/x-latex latex
|
||||||
|
application/x-netcdf nc cdf
|
||||||
|
# The standard is that rpm is audio/x-pn-realaudio-plugin... oh well...
|
||||||
|
application/x-rpm rpm
|
||||||
|
application/x-sh sh
|
||||||
|
application/x-shar shar
|
||||||
|
application/x-shockwave-flash swf
|
||||||
|
application/x-stuffit sit
|
||||||
|
application/x-sv4cpio sv4cpio
|
||||||
|
application/x-sv4crc sv4crc
|
||||||
|
application/x-tar tar
|
||||||
|
application/x-tcl tcl
|
||||||
|
application/x-tex tex
|
||||||
|
application/x-texinfo texinfo texi
|
||||||
|
application/x-troff t tr roff
|
||||||
|
application/x-troff-man man
|
||||||
|
application/x-troff-me me
|
||||||
|
application/x-troff-ms ms
|
||||||
|
application/x-ustar ustar
|
||||||
|
application/x-wais-source src
|
||||||
|
application/x400-bp
|
||||||
|
application/xml
|
||||||
|
application/zip zip
|
||||||
|
audio/32kadpcm
|
||||||
|
audio/basic au snd
|
||||||
|
audio/midi mid midi kar
|
||||||
|
audio/mpeg mpga mp2 mp3
|
||||||
|
audio/vnd.qcelp
|
||||||
|
audio/x-aiff aif aiff aifc
|
||||||
|
audio/x-pn-realaudio ram rm
|
||||||
|
audio/x-realaudio ra
|
||||||
|
audio/x-wav wav
|
||||||
|
chemical/x-pdb pdb xyz
|
||||||
|
image/cgm
|
||||||
|
image/g3fax
|
||||||
|
image/gif gif
|
||||||
|
image/ief ief
|
||||||
|
image/jpeg jpeg jpg jpe
|
||||||
|
image/naplps
|
||||||
|
image/png png
|
||||||
|
image/prs.btif
|
||||||
|
image/tiff tiff tif
|
||||||
|
image/vnd.dwg
|
||||||
|
image/vnd.dxf
|
||||||
|
image/vnd.fpx
|
||||||
|
image/vnd.net-fpx
|
||||||
|
image/vnd.svf
|
||||||
|
image/vnd.xiff
|
||||||
|
image/x-cmu-raster ras
|
||||||
|
image/x-portable-anymap pnm
|
||||||
|
image/x-portable-bitmap pbm
|
||||||
|
image/x-portable-graymap pgm
|
||||||
|
image/x-portable-pixmap ppm
|
||||||
|
image/x-rgb rgb
|
||||||
|
image/x-xbitmap xbm
|
||||||
|
image/x-xpixmap xpm
|
||||||
|
image/x-xwindowdump xwd
|
||||||
|
message/delivery-status
|
||||||
|
message/disposition-notification
|
||||||
|
message/external-body
|
||||||
|
message/http
|
||||||
|
message/news
|
||||||
|
message/partial
|
||||||
|
message/rfc822
|
||||||
|
model/iges igs iges
|
||||||
|
model/mesh msh mesh silo
|
||||||
|
model/vnd.dwf
|
||||||
|
model/vrml wrl vrml
|
||||||
|
multipart/alternative
|
||||||
|
multipart/appledouble
|
||||||
|
multipart/byteranges
|
||||||
|
multipart/digest
|
||||||
|
multipart/encrypted
|
||||||
|
multipart/form-data
|
||||||
|
multipart/header-set
|
||||||
|
multipart/mixed
|
||||||
|
multipart/parallel
|
||||||
|
multipart/related
|
||||||
|
multipart/report
|
||||||
|
multipart/signed
|
||||||
|
multipart/voice-message
|
||||||
|
text/css css
|
||||||
|
text/directory
|
||||||
|
text/enriched
|
||||||
|
text/html html htm
|
||||||
|
text/plain asc txt
|
||||||
|
text/prs.lines.tag
|
||||||
|
text/rfc822-headers
|
||||||
|
text/richtext rtx
|
||||||
|
text/rtf rtf
|
||||||
|
text/sgml sgml sgm
|
||||||
|
text/tab-separated-values tsv
|
||||||
|
text/uri-list
|
||||||
|
text/vnd.abc
|
||||||
|
text/vnd.flatland.3dml
|
||||||
|
text/vnd.fmi.flexstor
|
||||||
|
text/vnd.in3d.3dml
|
||||||
|
text/vnd.in3d.spot
|
||||||
|
text/vnd.latex-z
|
||||||
|
text/x-setext etx
|
||||||
|
text/xml xml
|
||||||
|
video/mpeg mpeg mpg mpe
|
||||||
|
video/quicktime qt mov
|
||||||
|
video/vnd.motorola.video
|
||||||
|
video/vnd.motorola.videop
|
||||||
|
video/vnd.vivo
|
||||||
|
video/x-msvideo avi
|
||||||
|
video/x-sgi-movie movie
|
||||||
|
x-conference/x-cooltalk ice
|
Loading…
Reference in New Issue
Block a user