hawkins 0.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +31 -6
- data/LICENSE.txt +2 -0
- data/README.md +43 -14
- data/Rakefile +13 -10
- data/hawkins.gemspec +7 -11
- data/js/WebSocketMain.swf +0 -0
- data/js/livereload.js +1055 -0
- data/js/swfobject.js +4 -0
- data/js/web_socket.js +379 -0
- data/lib/hawkins.rb +6 -40
- data/lib/hawkins/liveserve.rb +250 -0
- data/lib/hawkins/post.rb +86 -0
- data/lib/hawkins/servlet.rb +154 -0
- data/lib/hawkins/version.rb +1 -1
- data/lib/hawkins/websockets.rb +160 -0
- data/lib/mime.types +800 -0
- data/test/resources/test.crt +18 -0
- data/test/resources/test.key +28 -0
- data/test/spec_helper.rb +13 -10
- data/test/test_liveserve.rb +166 -0
- data/test/test_post.rb +171 -0
- metadata +50 -94
- data/lib/hawkins/cli.rb +0 -190
- data/lib/hawkins/guard.rb +0 -268
- data/lib/hawkins/isolation.rb +0 -116
- data/test/test_hawkins.rb +0 -134
data/lib/hawkins/post.rb
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
module Hawkins
|
2
|
+
module Commands
|
3
|
+
class Post < Jekyll::Command
|
4
|
+
class << self
|
5
|
+
COMMAND_OPTIONS = {
|
6
|
+
"date" => ["-d", "--date [DATE]", "Date to mark post"],
|
7
|
+
"editor" => ["-e", "--editor [EDITOR]", "Editor to open"],
|
8
|
+
"source" => ["-s", "--source SOURCE", "Custom source directory"],
|
9
|
+
"config" => [
|
10
|
+
"--config CONFIG_FILE[,CONFIG_FILE2,...]", Array, "Custom configuration file"
|
11
|
+
],
|
12
|
+
}.freeze
|
13
|
+
|
14
|
+
def init_with_program(prog)
|
15
|
+
prog.command(:post) do |c|
|
16
|
+
c.syntax("new [options]")
|
17
|
+
c.description("create a new post")
|
18
|
+
c.action do |args, options|
|
19
|
+
Hawkins::Commands::Post.create(args, options)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def create(args, options)
|
25
|
+
options["date"] ||= Time.now.to_s
|
26
|
+
options["editor"] ||= ENV['VISUAL'] || ENV['EDITOR'] || 'vi'
|
27
|
+
begin
|
28
|
+
date = Date.parse(options["date"])
|
29
|
+
rescue
|
30
|
+
Jekyll.logger.abort_with("Could not convert #{options['date']} into date format.")
|
31
|
+
end
|
32
|
+
|
33
|
+
if args.length != 1
|
34
|
+
Jekyll.logger.abort_with(
|
35
|
+
"Please provide an argument to use as the post title.\n
|
36
|
+
Remember to quote multiword strings.")
|
37
|
+
else
|
38
|
+
title = args[0]
|
39
|
+
end
|
40
|
+
|
41
|
+
slug = Jekyll::Utils.slugify(title)
|
42
|
+
|
43
|
+
site_opts = configuration_from_options(options)
|
44
|
+
site = Jekyll::Site.new(site_opts)
|
45
|
+
posts = site.in_source_dir('_posts')
|
46
|
+
filename = File.join(posts, "#{date.strftime('%Y-%m-%d')}-#{slug}.md")
|
47
|
+
|
48
|
+
# TODO incorporate Highline and allow users to elect to create the directory
|
49
|
+
# Like Thor does
|
50
|
+
unless File.exist?(posts)
|
51
|
+
Jekyll.logger.abort_with("#{posts} does not exist. Please create it.")
|
52
|
+
end
|
53
|
+
|
54
|
+
# TODO ask if user wishes to overwrite
|
55
|
+
if File.exist?(filename)
|
56
|
+
Jekyll.logger.abort_with(
|
57
|
+
"#{filename} already exists. Cowardly refusing to overwrite it.")
|
58
|
+
end
|
59
|
+
|
60
|
+
content = <<-CONTENT
|
61
|
+
---
|
62
|
+
title: #{title}
|
63
|
+
---
|
64
|
+
CONTENT
|
65
|
+
|
66
|
+
File.open(filename, 'w') do |f|
|
67
|
+
f.write(Jekyll::Utils.strip_heredoc(content))
|
68
|
+
end
|
69
|
+
|
70
|
+
Jekyll.logger.info("Wrote #{filename}")
|
71
|
+
|
72
|
+
case options["editor"]
|
73
|
+
when /g?vim/
|
74
|
+
editor_args = "+"
|
75
|
+
when /x?emacs/
|
76
|
+
editor_args = "+#{content.lines.count}"
|
77
|
+
else
|
78
|
+
editor_args = nil
|
79
|
+
end
|
80
|
+
|
81
|
+
exec(*[options["editor"], editor_args, filename].compact)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,154 @@
|
|
1
|
+
require "webrick"
|
2
|
+
require "jekyll/commands/serve/servlet"
|
3
|
+
|
4
|
+
module Hawkins
|
5
|
+
module Commands
|
6
|
+
class LiveServe
|
7
|
+
class SkipAnalyzer
|
8
|
+
BAD_USER_AGENTS = [%r{MSIE}].freeze
|
9
|
+
|
10
|
+
def self.skip_processing?(req, res, options)
|
11
|
+
new(req, res, options).skip_processing?
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize(req, res, options)
|
15
|
+
@options = options
|
16
|
+
@req = req
|
17
|
+
@res = res
|
18
|
+
end
|
19
|
+
|
20
|
+
def skip_processing?
|
21
|
+
!html? || chunked? || inline? || ignored? || bad_browser?
|
22
|
+
end
|
23
|
+
|
24
|
+
def chunked?
|
25
|
+
@res['Transfer-Encoding'] == 'chunked'
|
26
|
+
end
|
27
|
+
|
28
|
+
def inline?
|
29
|
+
@res['Content-Disposition'] =~ %r{^inline}
|
30
|
+
end
|
31
|
+
|
32
|
+
def ignored?
|
33
|
+
path = @req.query_string.nil? ? @req.path_info : "#{@req.path_info}?#{@req.query_string}"
|
34
|
+
@options["ignore"] && @options["ignore"].any? { |filter| path[filter] }
|
35
|
+
end
|
36
|
+
|
37
|
+
def bad_browser?
|
38
|
+
BAD_USER_AGENTS.any? { |pattern| @req['User-Agent'] =~ pattern }
|
39
|
+
end
|
40
|
+
|
41
|
+
def html?
|
42
|
+
@res['Content-Type'] =~ %r{text/html}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class BodyProcessor
|
47
|
+
HEAD_TAG_REGEX = /<head>|<head[^(er)][^<]*>/
|
48
|
+
|
49
|
+
attr_reader :content_length, :new_body, :livereload_added
|
50
|
+
|
51
|
+
def initialize(body, options)
|
52
|
+
@body = body
|
53
|
+
@options = options
|
54
|
+
@processed = false
|
55
|
+
end
|
56
|
+
|
57
|
+
def with_swf?
|
58
|
+
@options["swf"]
|
59
|
+
end
|
60
|
+
|
61
|
+
def processed?
|
62
|
+
@processed
|
63
|
+
end
|
64
|
+
|
65
|
+
def process!
|
66
|
+
@new_body = []
|
67
|
+
begin
|
68
|
+
@body.each { |line| @new_body << line.to_s }
|
69
|
+
ensure
|
70
|
+
# @body will be a File object
|
71
|
+
@body.close
|
72
|
+
end
|
73
|
+
|
74
|
+
@content_length = 0
|
75
|
+
@livereload_added = false
|
76
|
+
|
77
|
+
@new_body.each do |line|
|
78
|
+
if !@livereload_added && line['<head']
|
79
|
+
line.gsub!(HEAD_TAG_REGEX) { |match| %(#{match}#{template.result(binding)}) }
|
80
|
+
|
81
|
+
@livereload_added = true
|
82
|
+
end
|
83
|
+
|
84
|
+
@content_length += line.bytesize
|
85
|
+
@processed = true
|
86
|
+
end
|
87
|
+
@new_body = @new_body.join
|
88
|
+
end
|
89
|
+
|
90
|
+
def host_to_use
|
91
|
+
(@options["host"] || 'localhost').gsub(%r{:.*}, '')
|
92
|
+
end
|
93
|
+
|
94
|
+
def template
|
95
|
+
template = <<-TEMPLATE
|
96
|
+
<% if with_swf? %>
|
97
|
+
<script type="text/javascript">
|
98
|
+
WEB_SOCKET_SWF_LOCATION = "<%= @options["baseurl"] %>/__livereload/WebSocketMain.swf";
|
99
|
+
WEB_SOCKET_FORCE_FLASH = false;
|
100
|
+
</script>
|
101
|
+
<script type="text/javascript" src="<%= @options["baseurl"] %>/__livereload/swfobject.js"></script>
|
102
|
+
<script type="text/javascript" src="<%= @options["baseurl"] %>/__livereload/web_socket.js"></script>
|
103
|
+
<% end %>
|
104
|
+
<script type="text/javascript">
|
105
|
+
HAWKINS_LIVERELOAD_PORT = <%= @options["reload_port"] %>;
|
106
|
+
HAWKINS_LIVERELOAD_PROTOCOL = <%= livereload_protocol %>;
|
107
|
+
</script>
|
108
|
+
<script type="text/javascript" src="<%= livereload_source %>"></script>
|
109
|
+
TEMPLATE
|
110
|
+
ERB.new(Jekyll::Utils.strip_heredoc(template))
|
111
|
+
end
|
112
|
+
|
113
|
+
def livereload_protocol
|
114
|
+
use_ssl = @options["ssl_cert"] && @options["ssl_key"]
|
115
|
+
use_ssl ? '"wss://"' : '"ws://"'
|
116
|
+
end
|
117
|
+
|
118
|
+
def livereload_source
|
119
|
+
use_ssl = @options["ssl_cert"] && @options["ssl_key"]
|
120
|
+
protocol = use_ssl ? "https" : "http"
|
121
|
+
|
122
|
+
# Unclear what "snipver" does. https://github.com/livereload/livereload-js states
|
123
|
+
# that the recommended setting is 1.
|
124
|
+
src = "#{protocol}://#{host_to_use}:#{@options['reload_port']}/livereload.js?snipver=1"
|
125
|
+
|
126
|
+
# XHTML standard requires ampersands to be encoded as entities when in attributes
|
127
|
+
# See http://stackoverflow.com/a/2190292
|
128
|
+
src << "&mindelay=#{@options['min_delay']}" if @options["min_delay"]
|
129
|
+
src << "&maxdelay=#{@options['max_delay']}" if @options["max_delay"]
|
130
|
+
src << "&port=#{@options['reload_port']}" if @options["reload_port"]
|
131
|
+
src
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
class ReloadServlet < Jekyll::Commands::Serve::Servlet
|
136
|
+
def do_GET(req, res) # rubocop:disable MethodName
|
137
|
+
rtn = super
|
138
|
+
return rtn if SkipAnalyzer.skip_processing?(req, res, @jekyll_opts)
|
139
|
+
|
140
|
+
processor = BodyProcessor.new(res.body, @jekyll_opts)
|
141
|
+
processor.process!
|
142
|
+
res.body = processor.new_body
|
143
|
+
res.content_length = processor.content_length.to_s
|
144
|
+
|
145
|
+
if processor.livereload_added
|
146
|
+
res['X-Rack-LiveReload'] = '1'
|
147
|
+
end
|
148
|
+
|
149
|
+
rtn
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
data/lib/hawkins/version.rb
CHANGED
@@ -0,0 +1,160 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'em-websocket'
|
3
|
+
require 'http/parser'
|
4
|
+
|
5
|
+
module Hawkins
|
6
|
+
# The LiveReload protocol requires the server to serve livereload.js over HTTP
|
7
|
+
# despite the fact that the protocol itself uses WebSockets. This custom connection
|
8
|
+
# class addresses the dual protocols that the server needs to understand.
|
9
|
+
class HttpAwareConnection < EventMachine::WebSocket::Connection
|
10
|
+
attr_reader :reload_file
|
11
|
+
|
12
|
+
def initialize(opts)
|
13
|
+
@ssl_enabled = opts['ssl_cert'] && opts['ssl_key']
|
14
|
+
if @ssl_enabled
|
15
|
+
opts[:tls_options] = {
|
16
|
+
:private_key_file => Jekyll.sanitized_path(opts['source'], opts['ssl_key']),
|
17
|
+
:cert_chain_file => Jekyll.sanitized_path(opts['source'], opts['ssl_cert']),
|
18
|
+
}
|
19
|
+
opts[:secure] = true
|
20
|
+
end
|
21
|
+
super
|
22
|
+
@reload_file = File.join(LIVERELOAD_DIR, "livereload.js")
|
23
|
+
end
|
24
|
+
|
25
|
+
def dispatch(data)
|
26
|
+
parser = Http::Parser.new
|
27
|
+
parser << data
|
28
|
+
|
29
|
+
# WebSockets requests will have a Connection: Upgrade header
|
30
|
+
if parser.http_method != 'GET' || parser.upgrade?
|
31
|
+
super
|
32
|
+
elsif parser.request_url =~ /^\/livereload.js/
|
33
|
+
headers = [
|
34
|
+
'HTTP/1.1 200 OK',
|
35
|
+
'Content-Type: application/javascript',
|
36
|
+
"Content-Length: #{File.size(reload_file)}",
|
37
|
+
'',
|
38
|
+
'',
|
39
|
+
].join("\r\n")
|
40
|
+
send_data(headers)
|
41
|
+
stream_file_data(reload_file).callback do
|
42
|
+
close_connection_after_writing
|
43
|
+
end
|
44
|
+
else
|
45
|
+
body = "This port only serves livereload.js over HTTP.\n"
|
46
|
+
headers = [
|
47
|
+
'HTTP/1.1 400 Bad Request',
|
48
|
+
'Content-Type: text/plain',
|
49
|
+
"Content-Length: #{body.bytesize}",
|
50
|
+
'',
|
51
|
+
'',
|
52
|
+
].join("\r\n")
|
53
|
+
send_data(headers)
|
54
|
+
send_data(body)
|
55
|
+
close_connection_after_writing
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
class LiveReloadReactor
|
61
|
+
attr_reader :thread
|
62
|
+
attr_reader :opts
|
63
|
+
|
64
|
+
def initialize(opts)
|
65
|
+
@opts = opts
|
66
|
+
@thread = nil
|
67
|
+
@websockets = []
|
68
|
+
@connections_count = 0
|
69
|
+
end
|
70
|
+
|
71
|
+
def stop
|
72
|
+
Jekyll.logger.debug("LiveReload Server:", "halted")
|
73
|
+
@thread.kill unless @thread.nil?
|
74
|
+
end
|
75
|
+
|
76
|
+
def running?
|
77
|
+
!@thread.nil? && @thread.alive?
|
78
|
+
end
|
79
|
+
|
80
|
+
def start
|
81
|
+
@thread = Thread.new do
|
82
|
+
# Use epoll if the kernel supports it
|
83
|
+
EM.epoll
|
84
|
+
# TODO enable SSL
|
85
|
+
EM.run do
|
86
|
+
Jekyll.logger.info("LiveReload Server:", "#{opts['host']}:#{opts['reload_port']}")
|
87
|
+
EM.start_server(opts['host'], opts['reload_port'], HttpAwareConnection, opts) do |ws|
|
88
|
+
ws.onopen do |handshake|
|
89
|
+
connect(ws, handshake)
|
90
|
+
end
|
91
|
+
|
92
|
+
ws.onclose do
|
93
|
+
disconnect(ws)
|
94
|
+
end
|
95
|
+
|
96
|
+
ws.onmessage do |msg|
|
97
|
+
print_message(msg)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
Jekyll::Hooks.register(:site, :post_render) do |site|
|
104
|
+
regenerator = Jekyll::Regenerator.new(site)
|
105
|
+
@changed_pages = site.pages.select do |p|
|
106
|
+
regenerator.regenerate?(p)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
Jekyll::Hooks.register(:site, :post_write) do
|
111
|
+
reload(@changed_pages) unless @changed_pages.nil?
|
112
|
+
@changed_pages = nil
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
private
|
117
|
+
|
118
|
+
# For a description of the protocol see http://feedback.livereload.com/knowledgebase/articles/86174-livereload-protocol
|
119
|
+
def reload(pages)
|
120
|
+
pages.each do |p|
|
121
|
+
msg = {
|
122
|
+
:command => 'reload',
|
123
|
+
:path => p.path,
|
124
|
+
:liveCSS => true,
|
125
|
+
}
|
126
|
+
|
127
|
+
# TODO Add support for override URL?
|
128
|
+
# See http://feedback.livereload.com/knowledgebase/articles/86220-preview-css-changes-against-a-live-site-then-uplo
|
129
|
+
|
130
|
+
Jekyll.logger.debug("LiveReload:", "Reloading #{p.path}")
|
131
|
+
@websockets.each do |ws|
|
132
|
+
ws.send(JSON.dump(msg))
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def connect(ws, _handshake)
|
138
|
+
@connections_count += 1
|
139
|
+
Jekyll.logger.info("LiveReload:", "Browser connected") if @connections_count == 1
|
140
|
+
ws.send(
|
141
|
+
JSON.dump(
|
142
|
+
:command => 'hello',
|
143
|
+
:protocols => ['http://livereload.com/protocols/official-7'],
|
144
|
+
:serverName => 'jekyll livereload',
|
145
|
+
))
|
146
|
+
|
147
|
+
@websockets << ws
|
148
|
+
end
|
149
|
+
|
150
|
+
def disconnect(ws)
|
151
|
+
@websockets.delete(ws)
|
152
|
+
end
|
153
|
+
|
154
|
+
def print_message(json_message)
|
155
|
+
msg = JSON.parse(json_message)
|
156
|
+
# Not sure what the 'url' command even does in LiveReload
|
157
|
+
Jekyll.logger.info("LiveReload:", "Browser URL: #{msg['url']}") if msg['command'] == 'url'
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
data/lib/mime.types
ADDED
@@ -0,0 +1,800 @@
|
|
1
|
+
# Woah there. Do not edit this file directly.
|
2
|
+
# This file is generated automatically by script/vendor-mimes.
|
3
|
+
|
4
|
+
application/andrew-inset ez
|
5
|
+
application/applixware aw
|
6
|
+
application/atom+xml atom
|
7
|
+
application/atomcat+xml atomcat
|
8
|
+
application/atomsvc+xml atomsvc
|
9
|
+
application/bdoc bdoc
|
10
|
+
application/ccxml+xml ccxml
|
11
|
+
application/cdmi-capability cdmia
|
12
|
+
application/cdmi-container cdmic
|
13
|
+
application/cdmi-domain cdmid
|
14
|
+
application/cdmi-object cdmio
|
15
|
+
application/cdmi-queue cdmiq
|
16
|
+
application/cu-seeme cu
|
17
|
+
application/dash+xml mdp
|
18
|
+
application/davmount+xml davmount
|
19
|
+
application/docbook+xml dbk
|
20
|
+
application/dssc+der dssc
|
21
|
+
application/dssc+xml xdssc
|
22
|
+
application/ecmascript ecma
|
23
|
+
application/emma+xml emma
|
24
|
+
application/epub+zip epub
|
25
|
+
application/exi exi
|
26
|
+
application/font-tdpfr pfr
|
27
|
+
application/font-woff woff
|
28
|
+
application/font-woff2 woff2
|
29
|
+
application/gml+xml gml
|
30
|
+
application/gpx+xml gpx
|
31
|
+
application/gxf gxf
|
32
|
+
application/hyperstudio stk
|
33
|
+
application/inkml+xml ink inkml
|
34
|
+
application/ipfix ipfix
|
35
|
+
application/java-archive jar war ear
|
36
|
+
application/java-serialized-object ser
|
37
|
+
application/java-vm class
|
38
|
+
application/javascript js
|
39
|
+
application/json json map
|
40
|
+
application/json5 json5
|
41
|
+
application/jsonml+json jsonml
|
42
|
+
application/ld+json jsonld
|
43
|
+
application/lost+xml lostxml
|
44
|
+
application/mac-binhex40 hqx
|
45
|
+
application/mac-compactpro cpt
|
46
|
+
application/mads+xml mads
|
47
|
+
application/manifest+json webmanifest
|
48
|
+
application/marc mrc
|
49
|
+
application/marcxml+xml mrcx
|
50
|
+
application/mathematica ma nb mb
|
51
|
+
application/mathml+xml mathml
|
52
|
+
application/mbox mbox
|
53
|
+
application/mediaservercontrol+xml mscml
|
54
|
+
application/metalink+xml metalink
|
55
|
+
application/metalink4+xml meta4
|
56
|
+
application/mets+xml mets
|
57
|
+
application/mods+xml mods
|
58
|
+
application/mp21 m21 mp21
|
59
|
+
application/mp4 mp4s m4p
|
60
|
+
application/msword doc dot
|
61
|
+
application/mxf mxf
|
62
|
+
application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy exe dll deb dmg iso img msi msp msm buffer
|
63
|
+
application/oda oda
|
64
|
+
application/oebps-package+xml opf
|
65
|
+
application/ogg ogx
|
66
|
+
application/omdoc+xml omdoc
|
67
|
+
application/onenote onetoc onetoc2 onetmp onepkg
|
68
|
+
application/oxps oxps
|
69
|
+
application/patch-ops-error+xml xer
|
70
|
+
application/pdf pdf
|
71
|
+
application/pgp-encrypted pgp
|
72
|
+
application/pgp-signature asc sig
|
73
|
+
application/pics-rules prf
|
74
|
+
application/pkcs10 p10
|
75
|
+
application/pkcs7-mime p7m p7c
|
76
|
+
application/pkcs7-signature p7s
|
77
|
+
application/pkcs8 p8
|
78
|
+
application/pkix-attr-cert ac
|
79
|
+
application/pkix-cert cer
|
80
|
+
application/pkix-crl crl
|
81
|
+
application/pkix-pkipath pkipath
|
82
|
+
application/pkixcmp pki
|
83
|
+
application/pls+xml pls
|
84
|
+
application/postscript ai eps ps
|
85
|
+
application/prs.cww cww
|
86
|
+
application/pskc+xml pskcxml
|
87
|
+
application/rdf+xml rdf
|
88
|
+
application/reginfo+xml rif
|
89
|
+
application/relax-ng-compact-syntax rnc
|
90
|
+
application/resource-lists+xml rl
|
91
|
+
application/resource-lists-diff+xml rld
|
92
|
+
application/rls-services+xml rs
|
93
|
+
application/rpki-ghostbusters gbr
|
94
|
+
application/rpki-manifest mft
|
95
|
+
application/rpki-roa roa
|
96
|
+
application/rsd+xml rsd
|
97
|
+
application/rss+xml rss
|
98
|
+
application/rtf rtf
|
99
|
+
application/sbml+xml sbml
|
100
|
+
application/scvp-cv-request scq
|
101
|
+
application/scvp-cv-response scs
|
102
|
+
application/scvp-vp-request spq
|
103
|
+
application/scvp-vp-response spp
|
104
|
+
application/sdp sdp
|
105
|
+
application/set-payment-initiation setpay
|
106
|
+
application/set-registration-initiation setreg
|
107
|
+
application/shf+xml shf
|
108
|
+
application/smil+xml smi smil
|
109
|
+
application/sparql-query rq
|
110
|
+
application/sparql-results+xml srx
|
111
|
+
application/srgs gram
|
112
|
+
application/srgs+xml grxml
|
113
|
+
application/sru+xml sru
|
114
|
+
application/ssdl+xml ssdl
|
115
|
+
application/ssml+xml ssml
|
116
|
+
application/tei+xml tei teicorpus
|
117
|
+
application/thraud+xml tfi
|
118
|
+
application/timestamped-data tsd
|
119
|
+
application/vnd.3gpp.pic-bw-large plb
|
120
|
+
application/vnd.3gpp.pic-bw-small psb
|
121
|
+
application/vnd.3gpp.pic-bw-var pvb
|
122
|
+
application/vnd.3gpp2.tcap tcap
|
123
|
+
application/vnd.3m.post-it-notes pwn
|
124
|
+
application/vnd.accpac.simply.aso aso
|
125
|
+
application/vnd.accpac.simply.imp imp
|
126
|
+
application/vnd.acucobol acu
|
127
|
+
application/vnd.acucorp atc acutc
|
128
|
+
application/vnd.adobe.air-application-installer-package+zip air
|
129
|
+
application/vnd.adobe.formscentral.fcdt fcdt
|
130
|
+
application/vnd.adobe.fxp fxp fxpl
|
131
|
+
application/vnd.adobe.xdp+xml xdp
|
132
|
+
application/vnd.adobe.xfdf xfdf
|
133
|
+
application/vnd.ahead.space ahead
|
134
|
+
application/vnd.airzip.filesecure.azf azf
|
135
|
+
application/vnd.airzip.filesecure.azs azs
|
136
|
+
application/vnd.amazon.ebook azw
|
137
|
+
application/vnd.americandynamics.acc acc
|
138
|
+
application/vnd.amiga.ami ami
|
139
|
+
application/vnd.android.package-archive apk
|
140
|
+
application/vnd.anser-web-certificate-issue-initiation cii
|
141
|
+
application/vnd.anser-web-funds-transfer-initiation fti
|
142
|
+
application/vnd.antix.game-component atx
|
143
|
+
application/vnd.apple.installer+xml mpkg
|
144
|
+
application/vnd.apple.mpegurl m3u8
|
145
|
+
application/vnd.aristanetworks.swi swi
|
146
|
+
application/vnd.astraea-software.iota iota
|
147
|
+
application/vnd.audiograph aep
|
148
|
+
application/vnd.blueice.multipass mpm
|
149
|
+
application/vnd.bmi bmi
|
150
|
+
application/vnd.businessobjects rep
|
151
|
+
application/vnd.chemdraw+xml cdxml
|
152
|
+
application/vnd.chipnuts.karaoke-mmd mmd
|
153
|
+
application/vnd.cinderella cdy
|
154
|
+
application/vnd.claymore cla
|
155
|
+
application/vnd.cloanto.rp9 rp9
|
156
|
+
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
|
157
|
+
application/vnd.cluetrust.cartomobile-config c11amc
|
158
|
+
application/vnd.cluetrust.cartomobile-config-pkg c11amz
|
159
|
+
application/vnd.commonspace csp
|
160
|
+
application/vnd.contact.cmsg cdbcmsg
|
161
|
+
application/vnd.cosmocaller cmc
|
162
|
+
application/vnd.crick.clicker clkx
|
163
|
+
application/vnd.crick.clicker.keyboard clkk
|
164
|
+
application/vnd.crick.clicker.palette clkp
|
165
|
+
application/vnd.crick.clicker.template clkt
|
166
|
+
application/vnd.crick.clicker.wordbank clkw
|
167
|
+
application/vnd.criticaltools.wbs+xml wbs
|
168
|
+
application/vnd.ctc-posml pml
|
169
|
+
application/vnd.cups-ppd ppd
|
170
|
+
application/vnd.curl.car car
|
171
|
+
application/vnd.curl.pcurl pcurl
|
172
|
+
application/vnd.dart dart
|
173
|
+
application/vnd.data-vision.rdz rdz
|
174
|
+
application/vnd.dece.data uvf uvvf uvd uvvd
|
175
|
+
application/vnd.dece.ttml+xml uvt uvvt
|
176
|
+
application/vnd.dece.unspecified uvx uvvx
|
177
|
+
application/vnd.dece.zip uvz uvvz
|
178
|
+
application/vnd.denovo.fcselayout-link fe_launch
|
179
|
+
application/vnd.dna dna
|
180
|
+
application/vnd.dolby.mlp mlp
|
181
|
+
application/vnd.dpgraph dpg
|
182
|
+
application/vnd.dreamfactory dfac
|
183
|
+
application/vnd.ds-keypoint kpxx
|
184
|
+
application/vnd.dvb.ait ait
|
185
|
+
application/vnd.dvb.service svc
|
186
|
+
application/vnd.dynageo geo
|
187
|
+
application/vnd.ecowin.chart mag
|
188
|
+
application/vnd.enliven nml
|
189
|
+
application/vnd.epson.esf esf
|
190
|
+
application/vnd.epson.msf msf
|
191
|
+
application/vnd.epson.quickanime qam
|
192
|
+
application/vnd.epson.salt slt
|
193
|
+
application/vnd.epson.ssf ssf
|
194
|
+
application/vnd.eszigno3+xml es3 et3
|
195
|
+
application/vnd.ezpix-album ez2
|
196
|
+
application/vnd.ezpix-package ez3
|
197
|
+
application/vnd.fdf fdf
|
198
|
+
application/vnd.fdsn.mseed mseed
|
199
|
+
application/vnd.fdsn.seed seed dataless
|
200
|
+
application/vnd.flographit gph
|
201
|
+
application/vnd.fluxtime.clip ftc
|
202
|
+
application/vnd.framemaker fm frame maker book
|
203
|
+
application/vnd.frogans.fnc fnc
|
204
|
+
application/vnd.frogans.ltf ltf
|
205
|
+
application/vnd.fsc.weblaunch fsc
|
206
|
+
application/vnd.fujitsu.oasys oas
|
207
|
+
application/vnd.fujitsu.oasys2 oa2
|
208
|
+
application/vnd.fujitsu.oasys3 oa3
|
209
|
+
application/vnd.fujitsu.oasysgp fg5
|
210
|
+
application/vnd.fujitsu.oasysprs bh2
|
211
|
+
application/vnd.fujixerox.ddd ddd
|
212
|
+
application/vnd.fujixerox.docuworks xdw
|
213
|
+
application/vnd.fujixerox.docuworks.binder xbd
|
214
|
+
application/vnd.fuzzysheet fzs
|
215
|
+
application/vnd.genomatix.tuxedo txd
|
216
|
+
application/vnd.geogebra.file ggb
|
217
|
+
application/vnd.geogebra.tool ggt
|
218
|
+
application/vnd.geometry-explorer gex gre
|
219
|
+
application/vnd.geonext gxt
|
220
|
+
application/vnd.geoplan g2w
|
221
|
+
application/vnd.geospace g3w
|
222
|
+
application/vnd.gmx gmx
|
223
|
+
application/vnd.google-earth.kml+xml kml
|
224
|
+
application/vnd.google-earth.kmz kmz
|
225
|
+
application/vnd.grafeq gqf gqs
|
226
|
+
application/vnd.groove-account gac
|
227
|
+
application/vnd.groove-help ghf
|
228
|
+
application/vnd.groove-identity-message gim
|
229
|
+
application/vnd.groove-injector grv
|
230
|
+
application/vnd.groove-tool-message gtm
|
231
|
+
application/vnd.groove-tool-template tpl
|
232
|
+
application/vnd.groove-vcard vcg
|
233
|
+
application/vnd.hal+xml hal
|
234
|
+
application/vnd.handheld-entertainment+xml zmm
|
235
|
+
application/vnd.hbci hbci
|
236
|
+
application/vnd.hhe.lesson-player les
|
237
|
+
application/vnd.hp-hpgl hpgl
|
238
|
+
application/vnd.hp-hpid hpid
|
239
|
+
application/vnd.hp-hps hps
|
240
|
+
application/vnd.hp-jlyt jlt
|
241
|
+
application/vnd.hp-pcl pcl
|
242
|
+
application/vnd.hp-pclxl pclxl
|
243
|
+
application/vnd.hydrostatix.sof-data sfd-hdstx
|
244
|
+
application/vnd.ibm.minipay mpy
|
245
|
+
application/vnd.ibm.modcap afp listafp list3820
|
246
|
+
application/vnd.ibm.rights-management irm
|
247
|
+
application/vnd.ibm.secure-container sc
|
248
|
+
application/vnd.iccprofile icc icm
|
249
|
+
application/vnd.igloader igl
|
250
|
+
application/vnd.immervision-ivp ivp
|
251
|
+
application/vnd.immervision-ivu ivu
|
252
|
+
application/vnd.insors.igm igm
|
253
|
+
application/vnd.intercon.formnet xpw xpx
|
254
|
+
application/vnd.intergeo i2g
|
255
|
+
application/vnd.intu.qbo qbo
|
256
|
+
application/vnd.intu.qfx qfx
|
257
|
+
application/vnd.ipunplugged.rcprofile rcprofile
|
258
|
+
application/vnd.irepository.package+xml irp
|
259
|
+
application/vnd.is-xpr xpr
|
260
|
+
application/vnd.isac.fcs fcs
|
261
|
+
application/vnd.jam jam
|
262
|
+
application/vnd.jcp.javame.midlet-rms rms
|
263
|
+
application/vnd.jisp jisp
|
264
|
+
application/vnd.joost.joda-archive joda
|
265
|
+
application/vnd.kahootz ktz ktr
|
266
|
+
application/vnd.kde.karbon karbon
|
267
|
+
application/vnd.kde.kchart chrt
|
268
|
+
application/vnd.kde.kformula kfo
|
269
|
+
application/vnd.kde.kivio flw
|
270
|
+
application/vnd.kde.kontour kon
|
271
|
+
application/vnd.kde.kpresenter kpr kpt
|
272
|
+
application/vnd.kde.kspread ksp
|
273
|
+
application/vnd.kde.kword kwd kwt
|
274
|
+
application/vnd.kenameaapp htke
|
275
|
+
application/vnd.kidspiration kia
|
276
|
+
application/vnd.kinar kne knp
|
277
|
+
application/vnd.koan skp skd skt skm
|
278
|
+
application/vnd.kodak-descriptor sse
|
279
|
+
application/vnd.las.las+xml lasxml
|
280
|
+
application/vnd.llamagraphics.life-balance.desktop lbd
|
281
|
+
application/vnd.llamagraphics.life-balance.exchange+xml lbe
|
282
|
+
application/vnd.lotus-1-2-3 123
|
283
|
+
application/vnd.lotus-approach apr
|
284
|
+
application/vnd.lotus-freelance pre
|
285
|
+
application/vnd.lotus-notes nsf
|
286
|
+
application/vnd.lotus-organizer org
|
287
|
+
application/vnd.lotus-screencam scm
|
288
|
+
application/vnd.lotus-wordpro lwp
|
289
|
+
application/vnd.macports.portpkg portpkg
|
290
|
+
application/vnd.mcd mcd
|
291
|
+
application/vnd.medcalcdata mc1
|
292
|
+
application/vnd.mediastation.cdkey cdkey
|
293
|
+
application/vnd.mfer mwf
|
294
|
+
application/vnd.mfmp mfm
|
295
|
+
application/vnd.micrografx.flo flo
|
296
|
+
application/vnd.micrografx.igx igx
|
297
|
+
application/vnd.mif mif
|
298
|
+
application/vnd.mobius.daf daf
|
299
|
+
application/vnd.mobius.dis dis
|
300
|
+
application/vnd.mobius.mbk mbk
|
301
|
+
application/vnd.mobius.mqy mqy
|
302
|
+
application/vnd.mobius.msl msl
|
303
|
+
application/vnd.mobius.plc plc
|
304
|
+
application/vnd.mobius.txf txf
|
305
|
+
application/vnd.mophun.application mpn
|
306
|
+
application/vnd.mophun.certificate mpc
|
307
|
+
application/vnd.mozilla.xul+xml xul
|
308
|
+
application/vnd.ms-artgalry cil
|
309
|
+
application/vnd.ms-cab-compressed cab
|
310
|
+
application/vnd.ms-excel xls xlm xla xlc xlt xlw
|
311
|
+
application/vnd.ms-excel.addin.macroenabled.12 xlam
|
312
|
+
application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb
|
313
|
+
application/vnd.ms-excel.sheet.macroenabled.12 xlsm
|
314
|
+
application/vnd.ms-excel.template.macroenabled.12 xltm
|
315
|
+
application/vnd.ms-fontobject eot
|
316
|
+
application/vnd.ms-htmlhelp chm
|
317
|
+
application/vnd.ms-ims ims
|
318
|
+
application/vnd.ms-lrm lrm
|
319
|
+
application/vnd.ms-officetheme thmx
|
320
|
+
application/vnd.ms-pki.seccat cat
|
321
|
+
application/vnd.ms-pki.stl stl
|
322
|
+
application/vnd.ms-powerpoint ppt pps pot
|
323
|
+
application/vnd.ms-powerpoint.addin.macroenabled.12 ppam
|
324
|
+
application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm
|
325
|
+
application/vnd.ms-powerpoint.slide.macroenabled.12 sldm
|
326
|
+
application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm
|
327
|
+
application/vnd.ms-powerpoint.template.macroenabled.12 potm
|
328
|
+
application/vnd.ms-project mpp mpt
|
329
|
+
application/vnd.ms-word.document.macroenabled.12 docm
|
330
|
+
application/vnd.ms-word.template.macroenabled.12 dotm
|
331
|
+
application/vnd.ms-works wps wks wcm wdb
|
332
|
+
application/vnd.ms-wpl wpl
|
333
|
+
application/vnd.ms-xpsdocument xps
|
334
|
+
application/vnd.mseq mseq
|
335
|
+
application/vnd.musician mus
|
336
|
+
application/vnd.muvee.style msty
|
337
|
+
application/vnd.mynfc taglet
|
338
|
+
application/vnd.neurolanguage.nlu nlu
|
339
|
+
application/vnd.nitf ntf nitf
|
340
|
+
application/vnd.noblenet-directory nnd
|
341
|
+
application/vnd.noblenet-sealer nns
|
342
|
+
application/vnd.noblenet-web nnw
|
343
|
+
application/vnd.nokia.n-gage.data ngdat
|
344
|
+
application/vnd.nokia.n-gage.symbian.install n-gage
|
345
|
+
application/vnd.nokia.radio-preset rpst
|
346
|
+
application/vnd.nokia.radio-presets rpss
|
347
|
+
application/vnd.novadigm.edm edm
|
348
|
+
application/vnd.novadigm.edx edx
|
349
|
+
application/vnd.novadigm.ext ext
|
350
|
+
application/vnd.oasis.opendocument.chart odc
|
351
|
+
application/vnd.oasis.opendocument.chart-template otc
|
352
|
+
application/vnd.oasis.opendocument.database odb
|
353
|
+
application/vnd.oasis.opendocument.formula odf
|
354
|
+
application/vnd.oasis.opendocument.formula-template odft
|
355
|
+
application/vnd.oasis.opendocument.graphics odg
|
356
|
+
application/vnd.oasis.opendocument.graphics-template otg
|
357
|
+
application/vnd.oasis.opendocument.image odi
|
358
|
+
application/vnd.oasis.opendocument.image-template oti
|
359
|
+
application/vnd.oasis.opendocument.presentation odp
|
360
|
+
application/vnd.oasis.opendocument.presentation-template otp
|
361
|
+
application/vnd.oasis.opendocument.spreadsheet ods
|
362
|
+
application/vnd.oasis.opendocument.spreadsheet-template ots
|
363
|
+
application/vnd.oasis.opendocument.text odt
|
364
|
+
application/vnd.oasis.opendocument.text-master odm
|
365
|
+
application/vnd.oasis.opendocument.text-template ott
|
366
|
+
application/vnd.oasis.opendocument.text-web oth
|
367
|
+
application/vnd.olpc-sugar xo
|
368
|
+
application/vnd.oma.dd2+xml dd2
|
369
|
+
application/vnd.openofficeorg.extension oxt
|
370
|
+
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
|
371
|
+
application/vnd.openxmlformats-officedocument.presentationml.slide sldx
|
372
|
+
application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
|
373
|
+
application/vnd.openxmlformats-officedocument.presentationml.template potx
|
374
|
+
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
|
375
|
+
application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
|
376
|
+
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
|
377
|
+
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
|
378
|
+
application/vnd.osgeo.mapguide.package mgp
|
379
|
+
application/vnd.osgi.dp dp
|
380
|
+
application/vnd.osgi.subsystem esa
|
381
|
+
application/vnd.palm pdb pqa oprc
|
382
|
+
application/vnd.pawaafile paw
|
383
|
+
application/vnd.pg.format str
|
384
|
+
application/vnd.pg.osasli ei6
|
385
|
+
application/vnd.picsel efif
|
386
|
+
application/vnd.pmi.widget wg
|
387
|
+
application/vnd.pocketlearn plf
|
388
|
+
application/vnd.powerbuilder6 pbd
|
389
|
+
application/vnd.previewsystems.box box
|
390
|
+
application/vnd.proteus.magazine mgz
|
391
|
+
application/vnd.publishare-delta-tree qps
|
392
|
+
application/vnd.pvi.ptid1 ptid
|
393
|
+
application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
|
394
|
+
application/vnd.realvnc.bed bed
|
395
|
+
application/vnd.recordare.musicxml mxl
|
396
|
+
application/vnd.recordare.musicxml+xml musicxml
|
397
|
+
application/vnd.rig.cryptonote cryptonote
|
398
|
+
application/vnd.rim.cod cod
|
399
|
+
application/vnd.rn-realmedia rm
|
400
|
+
application/vnd.rn-realmedia-vbr rmvb
|
401
|
+
application/vnd.route66.link66+xml link66
|
402
|
+
application/vnd.sailingtracker.track st
|
403
|
+
application/vnd.seemail see
|
404
|
+
application/vnd.sema sema
|
405
|
+
application/vnd.semd semd
|
406
|
+
application/vnd.semf semf
|
407
|
+
application/vnd.shana.informed.formdata ifm
|
408
|
+
application/vnd.shana.informed.formtemplate itp
|
409
|
+
application/vnd.shana.informed.interchange iif
|
410
|
+
application/vnd.shana.informed.package ipk
|
411
|
+
application/vnd.simtech-mindmapper twd twds
|
412
|
+
application/vnd.smaf mmf
|
413
|
+
application/vnd.smart.teacher teacher
|
414
|
+
application/vnd.solent.sdkm+xml sdkm sdkd
|
415
|
+
application/vnd.spotfire.dxp dxp
|
416
|
+
application/vnd.spotfire.sfs sfs
|
417
|
+
application/vnd.stardivision.calc sdc
|
418
|
+
application/vnd.stardivision.draw sda
|
419
|
+
application/vnd.stardivision.impress sdd
|
420
|
+
application/vnd.stardivision.math smf
|
421
|
+
application/vnd.stardivision.writer sdw vor
|
422
|
+
application/vnd.stardivision.writer-global sgl
|
423
|
+
application/vnd.stepmania.package smzip
|
424
|
+
application/vnd.stepmania.stepchart sm
|
425
|
+
application/vnd.sun.xml.calc sxc
|
426
|
+
application/vnd.sun.xml.calc.template stc
|
427
|
+
application/vnd.sun.xml.draw sxd
|
428
|
+
application/vnd.sun.xml.draw.template std
|
429
|
+
application/vnd.sun.xml.impress sxi
|
430
|
+
application/vnd.sun.xml.impress.template sti
|
431
|
+
application/vnd.sun.xml.math sxm
|
432
|
+
application/vnd.sun.xml.writer sxw
|
433
|
+
application/vnd.sun.xml.writer.global sxg
|
434
|
+
application/vnd.sun.xml.writer.template stw
|
435
|
+
application/vnd.sus-calendar sus susp
|
436
|
+
application/vnd.svd svd
|
437
|
+
application/vnd.symbian.install sis sisx
|
438
|
+
application/vnd.syncml+xml xsm
|
439
|
+
application/vnd.syncml.dm+wbxml bdm
|
440
|
+
application/vnd.syncml.dm+xml xdm
|
441
|
+
application/vnd.tao.intent-module-archive tao
|
442
|
+
application/vnd.tcpdump.pcap pcap cap dmp
|
443
|
+
application/vnd.tmobile-livetv tmo
|
444
|
+
application/vnd.trid.tpt tpt
|
445
|
+
application/vnd.triscape.mxs mxs
|
446
|
+
application/vnd.trueapp tra
|
447
|
+
application/vnd.ufdl ufd ufdl
|
448
|
+
application/vnd.uiq.theme utz
|
449
|
+
application/vnd.umajin umj
|
450
|
+
application/vnd.unity unityweb
|
451
|
+
application/vnd.uoml+xml uoml
|
452
|
+
application/vnd.vcx vcx
|
453
|
+
application/vnd.visio vsd vst vss vsw
|
454
|
+
application/vnd.visionary vis
|
455
|
+
application/vnd.vsf vsf
|
456
|
+
application/vnd.wap.wbxml wbxml
|
457
|
+
application/vnd.wap.wmlc wmlc
|
458
|
+
application/vnd.wap.wmlscriptc wmlsc
|
459
|
+
application/vnd.webturbo wtb
|
460
|
+
application/vnd.wolfram.player nbp
|
461
|
+
application/vnd.wordperfect wpd
|
462
|
+
application/vnd.wqd wqd
|
463
|
+
application/vnd.wt.stf stf
|
464
|
+
application/vnd.xara xar
|
465
|
+
application/vnd.xfdl xfdl
|
466
|
+
application/vnd.yamaha.hv-dic hvd
|
467
|
+
application/vnd.yamaha.hv-script hvs
|
468
|
+
application/vnd.yamaha.hv-voice hvp
|
469
|
+
application/vnd.yamaha.openscoreformat osf
|
470
|
+
application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
|
471
|
+
application/vnd.yamaha.smaf-audio saf
|
472
|
+
application/vnd.yamaha.smaf-phrase spf
|
473
|
+
application/vnd.yellowriver-custom-menu cmp
|
474
|
+
application/vnd.zul zir zirz
|
475
|
+
application/vnd.zzazz.deck+xml zaz
|
476
|
+
application/voicexml+xml vxml
|
477
|
+
application/widget wgt
|
478
|
+
application/winhlp hlp
|
479
|
+
application/wsdl+xml wsdl
|
480
|
+
application/wspolicy+xml wspolicy
|
481
|
+
application/x-7z-compressed 7z
|
482
|
+
application/x-abiword abw
|
483
|
+
application/x-ace-compressed ace
|
484
|
+
application/x-authorware-bin aab x32 u32 vox
|
485
|
+
application/x-authorware-map aam
|
486
|
+
application/x-authorware-seg aas
|
487
|
+
application/x-bcpio bcpio
|
488
|
+
application/x-bittorrent torrent
|
489
|
+
application/x-blorb blb blorb
|
490
|
+
application/x-bzip bz
|
491
|
+
application/x-bzip2 bz2 boz
|
492
|
+
application/x-cbr cbr cba cbt cbz cb7
|
493
|
+
application/x-cdlink vcd
|
494
|
+
application/x-cfs-compressed cfs
|
495
|
+
application/x-chat chat
|
496
|
+
application/x-chess-pgn pgn
|
497
|
+
application/x-chrome-extension crx
|
498
|
+
application/x-cocoa cco
|
499
|
+
application/x-conference nsc
|
500
|
+
application/x-cpio cpio
|
501
|
+
application/x-csh csh
|
502
|
+
application/x-debian-package udeb
|
503
|
+
application/x-dgc-compressed dgc
|
504
|
+
application/x-director dir dcr dxr cst cct cxt w3d fgd swa
|
505
|
+
application/x-doom wad
|
506
|
+
application/x-dtbncx+xml ncx
|
507
|
+
application/x-dtbook+xml dtb
|
508
|
+
application/x-dtbresource+xml res
|
509
|
+
application/x-dvi dvi
|
510
|
+
application/x-envoy evy
|
511
|
+
application/x-eva eva
|
512
|
+
application/x-font-bdf bdf
|
513
|
+
application/x-font-ghostscript gsf
|
514
|
+
application/x-font-linux-psf psf
|
515
|
+
application/x-font-otf otf
|
516
|
+
application/x-font-pcf pcf
|
517
|
+
application/x-font-snf snf
|
518
|
+
application/x-font-ttf ttf ttc
|
519
|
+
application/x-font-type1 pfa pfb pfm afm
|
520
|
+
application/x-freearc arc
|
521
|
+
application/x-futuresplash spl
|
522
|
+
application/x-gca-compressed gca
|
523
|
+
application/x-glulx ulx
|
524
|
+
application/x-gnumeric gnumeric
|
525
|
+
application/x-gramps-xml gramps
|
526
|
+
application/x-gtar gtar
|
527
|
+
application/x-hdf hdf
|
528
|
+
application/x-httpd-php php
|
529
|
+
application/x-install-instructions install
|
530
|
+
application/x-java-archive-diff jardiff
|
531
|
+
application/x-java-jnlp-file jnlp
|
532
|
+
application/x-latex latex
|
533
|
+
application/x-lua-bytecode luac
|
534
|
+
application/x-lzh-compressed lzh lha
|
535
|
+
application/x-makeself run
|
536
|
+
application/x-mie mie
|
537
|
+
application/x-mobipocket-ebook prc mobi
|
538
|
+
application/x-ms-application application
|
539
|
+
application/x-ms-shortcut lnk
|
540
|
+
application/x-ms-wmd wmd
|
541
|
+
application/x-ms-wmz wmz
|
542
|
+
application/x-ms-xbap xbap
|
543
|
+
application/x-msaccess mdb
|
544
|
+
application/x-msbinder obd
|
545
|
+
application/x-mscardfile crd
|
546
|
+
application/x-msclip clp
|
547
|
+
application/x-msdownload com bat
|
548
|
+
application/x-msmediaview mvb m13 m14
|
549
|
+
application/x-msmetafile wmf emf emz
|
550
|
+
application/x-msmoney mny
|
551
|
+
application/x-mspublisher pub
|
552
|
+
application/x-msschedule scd
|
553
|
+
application/x-msterminal trm
|
554
|
+
application/x-mswrite wri
|
555
|
+
application/x-netcdf nc cdf
|
556
|
+
application/x-ns-proxy-autoconfig pac
|
557
|
+
application/x-nzb nzb
|
558
|
+
application/x-perl pl pm
|
559
|
+
application/x-pkcs12 p12 pfx
|
560
|
+
application/x-pkcs7-certificates p7b spc
|
561
|
+
application/x-pkcs7-certreqresp p7r
|
562
|
+
application/x-rar-compressed rar
|
563
|
+
application/x-redhat-package-manager rpm
|
564
|
+
application/x-research-info-systems ris
|
565
|
+
application/x-sea sea
|
566
|
+
application/x-sh sh
|
567
|
+
application/x-shar shar
|
568
|
+
application/x-shockwave-flash swf
|
569
|
+
application/x-silverlight-app xap
|
570
|
+
application/x-sql sql
|
571
|
+
application/x-stuffit sit
|
572
|
+
application/x-stuffitx sitx
|
573
|
+
application/x-subrip srt
|
574
|
+
application/x-sv4cpio sv4cpio
|
575
|
+
application/x-sv4crc sv4crc
|
576
|
+
application/x-t3vm-image t3
|
577
|
+
application/x-tads gam
|
578
|
+
application/x-tar tar
|
579
|
+
application/x-tcl tcl tk
|
580
|
+
application/x-tex tex
|
581
|
+
application/x-tex-tfm tfm
|
582
|
+
application/x-texinfo texinfo texi
|
583
|
+
application/x-tgif obj
|
584
|
+
application/x-ustar ustar
|
585
|
+
application/x-wais-source src
|
586
|
+
application/x-web-app-manifest+json webapp
|
587
|
+
application/x-x509-ca-cert der crt pem
|
588
|
+
application/x-xfig fig
|
589
|
+
application/x-xliff+xml xlf
|
590
|
+
application/x-xpinstall xpi
|
591
|
+
application/x-xz xz
|
592
|
+
application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8
|
593
|
+
application/xaml+xml xaml
|
594
|
+
application/xcap-diff+xml xdf
|
595
|
+
application/xenc+xml xenc
|
596
|
+
application/xhtml+xml xhtml xht
|
597
|
+
application/xml xml xsl xsd
|
598
|
+
application/xml-dtd dtd
|
599
|
+
application/xop+xml xop
|
600
|
+
application/xproc+xml xpl
|
601
|
+
application/xslt+xml xslt
|
602
|
+
application/xspf+xml xspf
|
603
|
+
application/xv+xml mxml xhvml xvml xvm
|
604
|
+
application/yang yang
|
605
|
+
application/yin+xml yin
|
606
|
+
application/zip zip
|
607
|
+
audio/adpcm adp
|
608
|
+
audio/basic au snd
|
609
|
+
audio/midi mid midi kar rmi
|
610
|
+
audio/mp4 mp4a m4a
|
611
|
+
audio/mpeg mpga mp2 mp2a mp3 m2a m3a
|
612
|
+
audio/ogg oga ogg spx
|
613
|
+
audio/s3m s3m
|
614
|
+
audio/silk sil
|
615
|
+
audio/vnd.dece.audio uva uvva
|
616
|
+
audio/vnd.digital-winds eol
|
617
|
+
audio/vnd.dra dra
|
618
|
+
audio/vnd.dts dts
|
619
|
+
audio/vnd.dts.hd dtshd
|
620
|
+
audio/vnd.lucent.voice lvp
|
621
|
+
audio/vnd.ms-playready.media.pya pya
|
622
|
+
audio/vnd.nuera.ecelp4800 ecelp4800
|
623
|
+
audio/vnd.nuera.ecelp7470 ecelp7470
|
624
|
+
audio/vnd.nuera.ecelp9600 ecelp9600
|
625
|
+
audio/vnd.rip rip
|
626
|
+
audio/wav wav
|
627
|
+
audio/webm weba
|
628
|
+
audio/x-aac aac
|
629
|
+
audio/x-aiff aif aiff aifc
|
630
|
+
audio/x-caf caf
|
631
|
+
audio/x-flac flac
|
632
|
+
audio/x-matroska mka
|
633
|
+
audio/x-mpegurl m3u
|
634
|
+
audio/x-ms-wax wax
|
635
|
+
audio/x-ms-wma wma
|
636
|
+
audio/x-pn-realaudio ram ra
|
637
|
+
audio/x-pn-realaudio-plugin rmp
|
638
|
+
audio/xm xm
|
639
|
+
chemical/x-cdx cdx
|
640
|
+
chemical/x-cif cif
|
641
|
+
chemical/x-cmdf cmdf
|
642
|
+
chemical/x-cml cml
|
643
|
+
chemical/x-csml csml
|
644
|
+
chemical/x-xyz xyz
|
645
|
+
image/bmp bmp
|
646
|
+
image/cgm cgm
|
647
|
+
image/g3fax g3
|
648
|
+
image/gif gif
|
649
|
+
image/ief ief
|
650
|
+
image/jpeg jpeg jpg jpe
|
651
|
+
image/ktx ktx
|
652
|
+
image/png png
|
653
|
+
image/prs.btif btif
|
654
|
+
image/sgi sgi
|
655
|
+
image/svg+xml svg svgz
|
656
|
+
image/tiff tiff tif
|
657
|
+
image/vnd.adobe.photoshop psd
|
658
|
+
image/vnd.dece.graphic uvi uvvi uvg uvvg
|
659
|
+
image/vnd.djvu djvu djv
|
660
|
+
image/vnd.dvb.subtitle sub
|
661
|
+
image/vnd.dwg dwg
|
662
|
+
image/vnd.dxf dxf
|
663
|
+
image/vnd.fastbidsheet fbs
|
664
|
+
image/vnd.fpx fpx
|
665
|
+
image/vnd.fst fst
|
666
|
+
image/vnd.fujixerox.edmics-mmr mmr
|
667
|
+
image/vnd.fujixerox.edmics-rlc rlc
|
668
|
+
image/vnd.ms-modi mdi
|
669
|
+
image/vnd.ms-photo wdp
|
670
|
+
image/vnd.net-fpx npx
|
671
|
+
image/vnd.wap.wbmp wbmp
|
672
|
+
image/vnd.xiff xif
|
673
|
+
image/webp webp
|
674
|
+
image/x-3ds 3ds
|
675
|
+
image/x-cmu-raster ras
|
676
|
+
image/x-cmx cmx
|
677
|
+
image/x-freehand fh fhc fh4 fh5 fh7
|
678
|
+
image/x-icon ico
|
679
|
+
image/x-jng jng
|
680
|
+
image/x-mrsid-image sid
|
681
|
+
image/x-pcx pcx
|
682
|
+
image/x-pict pic pct
|
683
|
+
image/x-portable-anymap pnm
|
684
|
+
image/x-portable-bitmap pbm
|
685
|
+
image/x-portable-graymap pgm
|
686
|
+
image/x-portable-pixmap ppm
|
687
|
+
image/x-rgb rgb
|
688
|
+
image/x-tga tga
|
689
|
+
image/x-xbitmap xbm
|
690
|
+
image/x-xpixmap xpm
|
691
|
+
image/x-xwindowdump xwd
|
692
|
+
message/rfc822 eml mime
|
693
|
+
model/iges igs iges
|
694
|
+
model/mesh msh mesh silo
|
695
|
+
model/vnd.collada+xml dae
|
696
|
+
model/vnd.dwf dwf
|
697
|
+
model/vnd.gdl gdl
|
698
|
+
model/vnd.gtw gtw
|
699
|
+
model/vnd.mts mts
|
700
|
+
model/vnd.vtu vtu
|
701
|
+
model/vrml wrl vrml
|
702
|
+
model/x3d+binary x3db x3dbz
|
703
|
+
model/x3d+vrml x3dv x3dvz
|
704
|
+
model/x3d+xml x3d x3dz
|
705
|
+
text/cache-manifest appcache manifest
|
706
|
+
text/calendar ics ifb
|
707
|
+
text/coffeescript coffee litcoffee
|
708
|
+
text/css css
|
709
|
+
text/csv csv
|
710
|
+
text/hjson hjson
|
711
|
+
text/html html htm shtml
|
712
|
+
text/jade jade
|
713
|
+
text/jsx jsx
|
714
|
+
text/less less
|
715
|
+
text/mathml mml
|
716
|
+
text/n3 n3
|
717
|
+
text/plain txt text conf def list log in ini
|
718
|
+
text/prs.lines.tag dsc
|
719
|
+
text/richtext rtx
|
720
|
+
text/sgml sgml sgm
|
721
|
+
text/stylus stylus styl
|
722
|
+
text/tab-separated-values tsv
|
723
|
+
text/troff t tr roff man me ms
|
724
|
+
text/turtle ttl
|
725
|
+
text/uri-list uri uris urls
|
726
|
+
text/vcard vcard
|
727
|
+
text/vnd.curl curl
|
728
|
+
text/vnd.curl.dcurl dcurl
|
729
|
+
text/vnd.curl.mcurl mcurl
|
730
|
+
text/vnd.curl.scurl scurl
|
731
|
+
text/vnd.fly fly
|
732
|
+
text/vnd.fmi.flexstor flx
|
733
|
+
text/vnd.graphviz gv
|
734
|
+
text/vnd.in3d.3dml 3dml
|
735
|
+
text/vnd.in3d.spot spot
|
736
|
+
text/vnd.sun.j2me.app-descriptor jad
|
737
|
+
text/vnd.wap.wml wml
|
738
|
+
text/vnd.wap.wmlscript wmls
|
739
|
+
text/vtt vtt
|
740
|
+
text/x-asm s asm
|
741
|
+
text/x-c c cc cxx cpp h hh dic
|
742
|
+
text/x-component htc
|
743
|
+
text/x-fortran f for f77 f90
|
744
|
+
text/x-handlebars-template hbs
|
745
|
+
text/x-java-source java
|
746
|
+
text/x-lua lua
|
747
|
+
text/x-markdown markdown md mkd
|
748
|
+
text/x-nfo nfo
|
749
|
+
text/x-opml opml
|
750
|
+
text/x-pascal p pas
|
751
|
+
text/x-processing pde
|
752
|
+
text/x-sass sass
|
753
|
+
text/x-scss scss
|
754
|
+
text/x-setext etx
|
755
|
+
text/x-sfv sfv
|
756
|
+
text/x-uuencode uu
|
757
|
+
text/x-vcalendar vcs
|
758
|
+
text/x-vcard vcf
|
759
|
+
text/yaml yaml yml
|
760
|
+
video/3gpp 3gp 3gpp
|
761
|
+
video/3gpp2 3g2
|
762
|
+
video/h261 h261
|
763
|
+
video/h263 h263
|
764
|
+
video/h264 h264
|
765
|
+
video/jpeg jpgv
|
766
|
+
video/jpm jpm jpgm
|
767
|
+
video/mj2 mj2 mjp2
|
768
|
+
video/mp2t ts
|
769
|
+
video/mp4 mp4 mp4v mpg4
|
770
|
+
video/mpeg mpeg mpg mpe m1v m2v
|
771
|
+
video/ogg ogv
|
772
|
+
video/quicktime qt mov
|
773
|
+
video/vnd.dece.hd uvh uvvh
|
774
|
+
video/vnd.dece.mobile uvm uvvm
|
775
|
+
video/vnd.dece.pd uvp uvvp
|
776
|
+
video/vnd.dece.sd uvs uvvs
|
777
|
+
video/vnd.dece.video uvv uvvv
|
778
|
+
video/vnd.dvb.file dvb
|
779
|
+
video/vnd.fvt fvt
|
780
|
+
video/vnd.mpegurl mxu m4u
|
781
|
+
video/vnd.ms-playready.media.pyv pyv
|
782
|
+
video/vnd.uvvu.mp4 uvu uvvu
|
783
|
+
video/vnd.vivo viv
|
784
|
+
video/webm webm
|
785
|
+
video/x-f4v f4v
|
786
|
+
video/x-fli fli
|
787
|
+
video/x-flv flv
|
788
|
+
video/x-m4v m4v
|
789
|
+
video/x-matroska mkv mk3d mks
|
790
|
+
video/x-mng mng
|
791
|
+
video/x-ms-asf asf asx
|
792
|
+
video/x-ms-vob vob
|
793
|
+
video/x-ms-wm wm
|
794
|
+
video/x-ms-wmv wmv
|
795
|
+
video/x-ms-wmx wmx
|
796
|
+
video/x-ms-wvx wvx
|
797
|
+
video/x-msvideo avi
|
798
|
+
video/x-sgi-movie movie
|
799
|
+
video/x-smv smv
|
800
|
+
x-conference/x-cooltalk ice
|