Skip to content

Commit

Permalink
[Improvement] Added Cherokee Web server, it replaces to mini_httpd
Browse files Browse the repository at this point in the history
This commit solves the issue #3
it allows additional HTTP verbs PUT, DELETE and OPTIONS, so zvn web server now is ready to support new API service
in REST+JSON that will be developed.
Additionally this new web server is faster and offer additional features not supported in mini_httpd.

Signed-off-by: emiliocampos-zevenet <[email protected]>

	new file:   app/cherokee/bin/CTK-run
	new file:   app/cherokee/bin/cget
	new file:   app/cherokee/bin/cherokee-admin-launcher
	new file:   app/cherokee/bin/cherokee-config
	new file:   app/cherokee/bin/cherokee-macos-askpass
	new file:   app/cherokee/bin/cherokee-panic
	new file:   app/cherokee/bin/cherokee-tweak
	new file:   app/cherokee/etc/cherokee/.htpasswd
	new file:   app/cherokee/etc/cherokee/.htpasswd-orig
	new file:   app/cherokee/etc/cherokee/cherokee.conf
	new file:   app/cherokee/etc/cherokee/cherokee.conf.backup
	new file:   app/cherokee/etc/cherokee/cherokee.conf.perf_sample
	new file:   app/cherokee/include/cherokee/avl.h
	new file:   app/cherokee/include/cherokee/avl_r.h
	new file:   app/cherokee/include/cherokee/buffer.h
	new file:   app/cherokee/include/cherokee/cache.h
	new file:   app/cherokee/include/cherokee/cherokee-config.h
	new file:   app/cherokee/include/cherokee/cherokee.h
	new file:   app/cherokee/include/cherokee/common.h
	new file:   app/cherokee/include/cherokee/config_entry.h
	new file:   app/cherokee/include/cherokee/config_node.h
	new file:   app/cherokee/include/cherokee/connection.h
	new file:   app/cherokee/include/cherokee/connection_info.h
	new file:   app/cherokee/include/cherokee/cryptor.h
	new file:   app/cherokee/include/cherokee/downloader.h
	new file:   app/cherokee/include/cherokee/encoder.h
	new file:   app/cherokee/include/cherokee/fdpoll.h
	new file:   app/cherokee/include/cherokee/handler.h
	new file:   app/cherokee/include/cherokee/header.h
	new file:   app/cherokee/include/cherokee/http.h
	new file:   app/cherokee/include/cherokee/init.h
	new file:   app/cherokee/include/cherokee/iocache.h
	new file:   app/cherokee/include/cherokee/list.h
	new file:   app/cherokee/include/cherokee/logger.h
	new file:   app/cherokee/include/cherokee/macros.h
	new file:   app/cherokee/include/cherokee/mime.h
	new file:   app/cherokee/include/cherokee/mime_entry.h
	new file:   app/cherokee/include/cherokee/module.h
	new file:   app/cherokee/include/cherokee/nonce.h
	new file:   app/cherokee/include/cherokee/nullable.h
	new file:   app/cherokee/include/cherokee/plugin.h
	new file:   app/cherokee/include/cherokee/plugin_loader.h
	new file:   app/cherokee/include/cherokee/post.h
	new file:   app/cherokee/include/cherokee/resolv_cache.h
	new file:   app/cherokee/include/cherokee/rule.h
	new file:   app/cherokee/include/cherokee/server.h
	new file:   app/cherokee/include/cherokee/template.h
	new file:   app/cherokee/include/cherokee/trace.h
	new file:   app/cherokee/include/cherokee/url.h
	new file:   app/cherokee/include/cherokee/util.h
	new file:   app/cherokee/include/cherokee/validator.h
	new file:   app/cherokee/include/cherokee/version.h
	new file:   app/cherokee/lib/libcherokee-base.so
	new file:   app/cherokee/lib/libcherokee-base.so.0
	new file:   app/cherokee/lib/libcherokee-client.so
	new file:   app/cherokee/lib/libcherokee-client.so.0
	new file:   app/cherokee/lib/libcherokee-server.so
	new file:   app/cherokee/lib/libcherokee-server.so.0
	new file:   app/cherokee/sbin/htpasswd
	new file:   app/cherokee/share/aclocal/cherokee.m4
	new file:   app/cherokee/share/cherokee/deps/cgi.deps
	new file:   app/cherokee/share/cherokee/deps/combined.deps
	new file:   app/cherokee/share/cherokee/deps/common.deps
	new file:   app/cherokee/share/cherokee/deps/error_redir.deps
	new file:   app/cherokee/share/cherokee/deps/fcgi.deps
	new file:   app/cherokee/share/cherokee/deps/post_report.deps
	new file:   app/cherokee/share/cherokee/deps/render_rrd.deps
	new file:   app/cherokee/share/cherokee/deps/scgi.deps
	new file:   app/cherokee/share/cherokee/deps/secdownload.deps
	new file:   app/cherokee/share/cherokee/deps/streaming.deps
	new file:   app/cherokee/share/cherokee/deps/uwsgi.deps
	new file:   app/cherokee/share/cherokee/icons/README.txt
	new file:   app/cherokee/share/cherokee/icons/arrow_turn_left.png
	new file:   app/cherokee/share/cherokee/icons/blank.png
	new file:   app/cherokee/share/cherokee/icons/bomb.png
	new file:   app/cherokee/share/cherokee/icons/camera.png
	new file:   app/cherokee/share/cherokee/icons/cd.png
	new file:   app/cherokee/share/cherokee/icons/color_wheel.png
	new file:   app/cherokee/share/cherokee/icons/control_play.png
	new file:   app/cherokee/share/cherokee/icons/css.png
	new file:   app/cherokee/share/cherokee/icons/cup.png
	new file:   app/cherokee/share/cherokee/icons/email.png
	new file:   app/cherokee/share/cherokee/icons/film.png
	new file:   app/cherokee/share/cherokee/icons/folder.png
	new file:   app/cherokee/share/cherokee/icons/font.png
	new file:   app/cherokee/share/cherokee/icons/html.png
	new file:   app/cherokee/share/cherokee/icons/music.png
	new file:   app/cherokee/share/cherokee/icons/package.png
	new file:   app/cherokee/share/cherokee/icons/page_white.png
	new file:   app/cherokee/share/cherokee/icons/page_white_acrobat.png
	new file:   app/cherokee/share/cherokee/icons/page_white_actionscript.png
	new file:   app/cherokee/share/cherokee/icons/page_white_c.png
	new file:   app/cherokee/share/cherokee/icons/page_white_go.png
	new file:   app/cherokee/share/cherokee/icons/page_white_office.png
	new file:   app/cherokee/share/cherokee/icons/page_white_php.png
	new file:   app/cherokee/share/cherokee/icons/page_white_text.png
	new file:   app/cherokee/share/cherokee/icons/printer.png
	new file:   app/cherokee/share/cherokee/icons/ruby.png
	new file:   app/cherokee/share/cherokee/icons/script.png
	new file:   app/cherokee/share/cherokee/themes/default/entry.html
	new file:   app/cherokee/share/cherokee/themes/default/footer.html
	new file:   app/cherokee/share/cherokee/themes/default/header.html
	new file:   app/cherokee/share/cherokee/themes/default/logo.png
	new file:   app/cherokee/share/cherokee/themes/default/theme.css
	new file:   app/cherokee/share/cherokee/themes/firefox3/entry.html
	new file:   app/cherokee/share/cherokee/themes/firefox3/footer.html
	new file:   app/cherokee/share/cherokee/themes/firefox3/header.html
	new file:   app/cherokee/share/cherokee/themes/firefox3/theme.css
	new file:   app/cherokee/share/cherokee/themes/plain/entry.html
	new file:   app/cherokee/share/cherokee/themes/plain/footer.html
	new file:   app/cherokee/share/cherokee/themes/plain/header.html
	new file:   app/cherokee/share/cherokee/themes/plain/theme.css
	new file:   app/cherokee/share/cherokee/themes/white/entry.html
	new file:   app/cherokee/share/cherokee/themes/white/footer.html
	new file:   app/cherokee/share/cherokee/themes/white/header.html
	new file:   app/cherokee/share/cherokee/themes/white/theme.css
	new file:   app/cherokee/share/locale/ca/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/de/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/en/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/es/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/fr/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/gl/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/it/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/ja/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/jp/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/nl/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/pl/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/pt_BR/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/sv_SE/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/locale/zh_CN/LC_MESSAGES/cherokee.mo
	new file:   app/cherokee/share/man/man1/cget.1
	new file:   app/cherokee/share/man/man1/cherokee-admin-launcher.1
	new file:   app/cherokee/share/man/man1/cherokee-admin.1
	new file:   app/cherokee/share/man/man1/cherokee-config.1
	new file:   app/cherokee/share/man/man1/cherokee-tweak.1
	new file:   app/cherokee/share/man/man1/cherokee-worker.1
	new file:   app/cherokee/share/man/man1/cherokee.1
	new file:   app/cherokee/var/log/cherokee.access
	new file:   app/cherokee/var/log/cherokee.error
	new file:   app/cherokee/var/run/.keep
	new file:   etc/init.d/cherokee
  • Loading branch information
emiliocm committed Dec 7, 2016
1 parent cb648e0 commit 3a90807
Show file tree
Hide file tree
Showing 142 changed files with 8,666 additions and 0 deletions.
1 change: 1 addition & 0 deletions N
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#
381 changes: 381 additions & 0 deletions app/cherokee/bin/CTK-run
Original file line number Diff line number Diff line change
@@ -0,0 +1,381 @@
#!/usr/bin/env python
# -*- Mode: python; coding: utf-8 -*-

import os
import sys
import tempfile

DFAULT_SCGI_PORT = 8000
CTK_ROOT_DEFAULT = "/usr/local/zenloadbalancer/app/cherokee/share/cherokee/admin/CTK"

def write_cherokee_conf (app_file, CTK_root, SCGI_port):
# Path to the CTK app
if app_file.startswith ('/'):
app_file_path = app_file
else:
app_file_path = os.path.join (os.getcwd(), app_file)

# Get python executable, to make CTK work in virtualenv for example
python_executable = sys.executable
# Write the custom configuration file
config = CONFIG_BASE[:]
config = config.replace ('vserver!10!document_root = /var/www',
'vserver!10!document_root = %s' %(CTK_root))
config = config.replace ('source!1!interpreter = /usr/bin/true',
'source!1!interpreter = %s %s' %(python_executable, app_file_path))
config = config.replace ('source!1!host = localhost:8000',
'source!1!host = localhost:%s' %(SCGI_port))
config = config.replace ('vserver!10!rule!200!document_root = /var/www/static',
'vserver!10!rule!200!document_root = %s/static' %(CTK_root))

tempfd, tempname = tempfile.mkstemp()
os.write(tempfd, config)
os.close(tempfd)

# Set environment var PYTHONPATH
os.putenv("PYTHONPATH", "%s:%s"%(CTK_root, os.getenv("PYTHONPATH", '')))
return tempname

def main():
# Usage
if len(sys.argv) < 2:
print "USAGE:"
print " %s [-d /path/to/CTK] [-s SCGI-port-num] <file.py>" %(sys.argv[0])
raise SystemExit

# Path to CTK
if '-d' in sys.argv:
CTK_root = sys.argv[sys.argv.index('-d') + 1]
else:
CTK_root = CTK_ROOT_DEFAULT

# Internal SCGI port
if '-s' in sys.argv:
SCGI_port = sys.argv[sys.argv.index('-s') + 1]
else:
SCGI_port = DFAULT_SCGI_PORT

# Write config file
app_file = filter (lambda x: x.endswith('.py'), sys.argv)[-1]
cherokee_conf = write_cherokee_conf (app_file, CTK_root, SCGI_port)
command = "cherokee -C %s" %(cherokee_conf)

# Run
print "Running: %s" % (app_file)
print "CTK Path: %s" % (CTK_root)
print "Executing: %s" % (command)
print

os.system (command)


CONFIG_BASE = """\
config!version = 000099040
server!bind!1!port = 9091
server!bind!1!tls = 0
server!chunked_encoding = 1
server!iocache = 0
server!ipv6 = 1
server!keepalive = 1
server!keepalive_max_requests = 500
server!panic_action = /usr/bin/cherokee-panic
server!post_track = post_track
server!server_tokens = full
server!timeout = 15
vserver!10!collect_statistics = 0
vserver!10!collector!enabled = 0
vserver!10!directory_index = index.html
vserver!10!document_root = /var/www
vserver!10!error_writer!type = stderr
vserver!10!keepalive = 1
vserver!10!logger!x_real_ip_access_all = 0
vserver!10!logger!x_real_ip_enabled = 0
vserver!10!nick = default
vserver!10!rule!400!handler = post_report
vserver!10!rule!400!match = directory
vserver!10!rule!400!match!directory = /upload_report
vserver!10!rule!300!expiration = time
vserver!10!rule!300!expiration!time = 1h
vserver!10!rule!300!handler = file
vserver!10!rule!300!handler!iocache = 0
vserver!10!rule!300!match = fullpath
vserver!10!rule!300!match!final = 1
vserver!10!rule!300!match!fullpath!1 = /favicon.ico
vserver!10!rule!300!match!fullpath!2 = /robots.txt
vserver!10!rule!300!match!fullpath!3 = /crossdomain.xml
vserver!10!rule!200!handler = file
vserver!10!rule!200!match = directory
vserver!10!rule!200!match!directory = /CTK
vserver!10!rule!200!document_root = /var/www/static
vserver!10!rule!200!match!final = 1
vserver!10!rule!100!handler = scgi
vserver!10!rule!100!handler!balancer = round_robin
vserver!10!rule!100!handler!balancer!source!1 = 1
vserver!10!rule!100!handler!iocache = 0
vserver!10!rule!100!handler!xsendfile = 1
vserver!10!rule!100!match = default
vserver!10!rule!100!match!final = 1
source!1!debug = 1
source!1!env_inherited = 1
source!1!host = localhost:8000
source!1!interpreter = /usr/bin/true
source!1!nick = CTK-run Source
source!1!type = interpreter
icons!default = page_white.png
icons!directory = folder.png
icons!file!bomb.png = core
icons!file!page_white_go.png = *README*
icons!parent_directory = arrow_turn_left.png
icons!suffix!camera.png = jpg,jpeg,jpe
icons!suffix!cd.png = iso,ngr,cue
icons!suffix!color_wheel.png = png,gif,xcf,bmp,pcx,tiff,tif,cdr,psd,xpm,xbm
icons!suffix!control_play.png = bin,exe,com,msi,out
icons!suffix!css.png = css
icons!suffix!cup.png = java,class,jar
icons!suffix!email.png = eml,mbox,box,email,mbx
icons!suffix!film.png = avi,mpeg,mpe,mpg,mpeg3,dl,fli,qt,mov,movie,flv
icons!suffix!font.png = ttf
icons!suffix!html.png = html,htm
icons!suffix!music.png = au,snd,mid,midi,kar,mpga,mpega,mp2,mp3,sid,wav,aif,aiff,aifc,gsm,m3u,wma,wax,ra,rm,ram,pls,sd2,ogg
icons!suffix!package.png = tar,gz,bz2,zip,rar,ace,lha,Z,7z
icons!suffix!page_white_acrobat.png = pdf
icons!suffix!page_white_c.png = c,h,cpp
icons!suffix!page_white_office.png = doc,ppt,xls
icons!suffix!page_white_php.png = php
icons!suffix!page_white_text.png = txt,text,rtf,sdw
icons!suffix!printer.png = ps,eps
icons!suffix!ruby.png = rb
icons!suffix!script.png = sh,csh,ksh,tcl,tk,py,pl
mime!application/bzip2!extensions = bz2
mime!application/gzip!extensions = gz
mime!application/hta!extensions = hta
mime!application/java-archive!extensions = jar
mime!application/java-serialized-object!extensions = ser
mime!application/java-vm!extensions = class
mime!application/json!extensions = json
mime!application/mac-binhex40!extensions = hqx
mime!application/msaccess!extensions = mdb
mime!application/msword!extensions = doc,dot
mime!application/octet-stream!extensions = bin
mime!application/octetstream!extensions = ace
mime!application/oda!extensions = oda
mime!application/ogg!extensions = ogx
mime!application/pdf!extensions = pdf
mime!application/pgp-keys!extensions = key
mime!application/pgp-signature!extensions = pgp
mime!application/pics-rules!extensions = prf
mime!application/postscript!extensions = ps,ai,eps
mime!application/rar!extensions = rar
mime!application/rdf+xml!extensions = rdf
mime!application/rss+xml!extensions = rss
mime!application/smil!extensions = smi,smil
mime!application/vnd.mozilla.xul+xml!extensions = xul
mime!application/vnd.ms-excel!extensions = xls,xlb,xlt
mime!application/vnd.ms-pki.seccat!extensions = cat
mime!application/vnd.ms-pki.stl!extensions = stl
mime!application/vnd.ms-powerpoint!extensions = ppt,pps
mime!application/vnd.oasis.opendocument.chart!extensions = odc
mime!application/vnd.oasis.opendocument.database!extensions = odb
mime!application/vnd.oasis.opendocument.formula!extensions = odf
mime!application/vnd.oasis.opendocument.graphics!extensions = odg
mime!application/vnd.oasis.opendocument.image!extensions = odi
mime!application/vnd.oasis.opendocument.presentation!extensions = odp
mime!application/vnd.oasis.opendocument.spreadsheet!extensions = ods
mime!application/vnd.oasis.opendocument.text!extensions = odt
mime!application/vnd.oasis.opendocument.text-master!extensions = odm
mime!application/vnd.oasis.opendocument.text-web!extensions = oth
mime!application/vnd.pkg5.info!extensions = p5i
mime!application/vnd.visio!extensions = vsd
mime!application/vnd.wap.wbxml!extensions = wbxml
mime!application/vnd.wap.wmlc!extensions = wmlc
mime!application/vnd.wap.wmlscriptc!extensions = wmlsc
mime!application/x-abiword!extensions = abw
mime!application/x-apple-diskimage!extensions = dmg
mime!application/x-bcpio!extensions = bcpio
mime!application/x-bittorrent!extensions = torrent
mime!application/x-cdf!extensions = cdf
mime!application/x-cpio!extensions = cpio
mime!application/x-csh!extensions = csh
mime!application/x-debian-package!extensions = deb,udeb
mime!application/x-director!extensions = dcr,dir,dxr
mime!application/x-dvi!extensions = dvi
mime!application/x-flac!extensions = flac
mime!application/x-font!extensions = pfa,pfb,gsf,pcf,pcf.Z
mime!application/x-freemind!extensions = mm
mime!application/x-gnumeric!extensions = gnumeric
mime!application/x-gtar!extensions = gtar,tgz,taz
mime!application/x-gzip!extensions = gz,tgz
mime!application/x-httpd-php!extensions = phtml,pht,php
mime!application/x-httpd-php-source!extensions = phps
mime!application/x-httpd-php3!extensions = php3
mime!application/x-httpd-php3-preprocessed!extensions = php3p
mime!application/x-httpd-php4!extensions = php4
mime!application/x-internet-signup!extensions = ins,isp
mime!application/x-iphone!extensions = iii
mime!application/x-iso9660-image!extensions = iso
mime!application/x-java-jnlp-file!extensions = jnlp
mime!application/x-javascript!extensions = js
mime!application/x-kchart!extensions = chrt
mime!application/x-killustrator!extensions = kil
mime!application/x-koan!extensions = skp,skd,skt,skm
mime!application/x-kpresenter!extensions = kpr,kpt
mime!application/x-kspread!extensions = ksp
mime!application/x-kword!extensions = kwd,kwt
mime!application/x-latex!extensions = latex
mime!application/x-lha!extensions = lha
mime!application/x-lzh!extensions = lzh
mime!application/x-lzx!extensions = lzx
mime!application/x-ms-wmd!extensions = wmd
mime!application/x-ms-wmz!extensions = wmz
mime!application/x-msdos-program!extensions = com,exe,bat,dll
mime!application/x-msi!extensions = msi
mime!application/x-netcdf!extensions = nc
mime!application/x-ns-proxy-autoconfig!extensions = pac
mime!application/x-nwc!extensions = nwc
mime!application/x-object!extensions = o
mime!application/x-oz-application!extensions = oza
mime!application/x-pkcs7-certreqresp!extensions = p7r
mime!application/x-pkcs7-crl!extensions = crl
mime!application/x-python-code!extensions = pyc,pyo
mime!application/x-quicktimeplayer!extensions = qtl
mime!application/x-redhat-package-manager!extensions = rpm
mime!application/x-sh!extensions = sh
mime!application/x-shar!extensions = shar
mime!application/x-shockwave-flash!extensions = swf,swfl
mime!application/x-stuffit!extensions = sit,sea
mime!application/x-sv4cpio!extensions = sv4cpio
mime!application/x-sv4crc!extensions = sv4crc
mime!application/x-tar!extensions = tar
mime!application/x-tcl!extensions = tcl
mime!application/x-tex-pk!extensions = pk
mime!application/x-texinfo!extensions = texinfo,texi
mime!application/x-trash!extensions = ~,bak,old,sik
mime!application/x-troff!extensions = t,tr,roff
mime!application/x-troff-man!extensions = man
mime!application/x-troff-me!extensions = me
mime!application/x-troff-ms!extensions = ms
mime!application/x-ustar!extensions = ustar
mime!application/x-x509-ca-cert!extensions = crt
mime!application/x-xcf!extensions = xcf
mime!application/x-xfig!extensions = fig
mime!application/x-xpinstall!extensions = xpi
mime!application/xhtml+xml!extensions = xhtml,xht
mime!application/xml!extensions = xml,xsl
mime!application/zip!extensions = zip
mime!audio/basic!extensions = au,snd
mime!audio/midi!extensions = mid,midi,kar
mime!audio/mpeg!extensions = mpga,mpega,mp2,mp3,m4a
mime!audio/ogg!extensions = ogg,oga
mime!audio/prs.sid!extensions = sid
mime!audio/x-aiff!extensions = aif,aiff,aifc
mime!audio/x-gsm!extensions = gsm
mime!audio/x-mpegurl!extensions = m3u
mime!audio/x-ms-wax!extensions = wax
mime!audio/x-ms-wma!extensions = wma
mime!audio/x-pn-realaudio!extensions = ra,rm,ram
mime!audio/x-realaudio!extensions = ra
mime!audio/x-scpls!extensions = pls
mime!audio/x-sd2!extensions = sd2
mime!audio/x-wav!extensions = wav
mime!chemical/x-cache!extensions = cac,cache
mime!chemical/x-cache-csf!extensions = csf
mime!chemical/x-cdx!extensions = cdx
mime!chemical/x-cif!extensions = cif
mime!chemical/x-cmdf!extensions = cmdf
mime!chemical/x-cml!extensions = cml
mime!chemical/x-compass!extensions = cpa
mime!chemical/x-crossfire!extensions = bsd
mime!chemical/x-csml!extensions = csml,csm
mime!chemical/x-ctx!extensions = ctx
mime!chemical/x-cxf!extensions = cxf,cef
mime!chemical/x-isostar!extensions = istr,ist
mime!chemical/x-jcamp-dx!extensions = jdx,dx
mime!chemical/x-kinemage!extensions = kin
mime!chemical/x-pdb!extensions = pdb,ent
mime!chemical/x-swissprot!extensions = sw
mime!chemical/x-vamas-iso14976!extensions = vms
mime!chemical/x-vmd!extensions = vmd
mime!chemical/x-xtel!extensions = xtel
mime!chemical/x-xyz!extensions = xyz
mime!image/gif!extensions = gif
mime!image/jpeg!extensions = jpeg,jpg,jpe
mime!image/pcx!extensions = pcx
mime!image/png!extensions = png
mime!image/svg+xml!extensions = svg,svgz
mime!image/tiff!extensions = tiff,tif
mime!image/vnd.djvu!extensions = djvu,djv
mime!image/vnd.wap.wbmp!extensions = wbmp
mime!image/x-icon!extensions = ico
mime!image/x-ms-bmp!extensions = bmp
mime!image/x-photoshop!extensions = psd
mime!image/x-portable-anymap!extensions = pnm
mime!image/x-portable-bitmap!extensions = pbm
mime!image/x-portable-graymap!extensions = pgm
mime!image/x-portable-pixmap!extensions = ppm
mime!image/x-xbitmap!extensions = xbm
mime!image/x-xpixmap!extensions = xpm
mime!image/x-xwindowdump!extensions = xwd
mime!model/iges!extensions = igs,iges
mime!model/mesh!extensions = msh,mesh,silo
mime!model/vrml!extensions = wrl,vrml
mime!text/calendar!extensions = ics,icz
mime!text/comma-separated-values!extensions = csv
mime!text/css!extensions = css
mime!text/h323!extensions = 323
mime!text/html!extensions = html,htm,shtml
mime!text/iuls!extensions = uls
mime!text/mathml!extensions = mml
mime!text/plain!extensions = asc,txt,text,diff,pot
mime!text/richtext!extensions = rtx
mime!text/rtf!extensions = rtf
mime!text/scriptlet!extensions = sct,wsc
mime!text/tab-separated-values!extensions = tsv
mime!text/vnd.sun.j2me.app-descriptor!extensions = jad
mime!text/vnd.wap.wml!extensions = wml
mime!text/vnd.wap.wmlscript!extensions = wmls
mime!text/x-boo!extensions = boo
mime!text/x-c++hdr!extensions = h++,hpp,hxx,hh
mime!text/x-c++src!extensions = c++,cpp,cxx,cc
mime!text/x-chdr!extensions = h
mime!text/x-csh!extensions = csh
mime!text/x-csrc!extensions = c
mime!text/x-dsrc!extensions = d
mime!text/x-haskell!extensions = hs
mime!text/x-java!extensions = java
mime!text/x-literate-haskell!extensions = lhs
mime!text/x-moc!extensions = moc
mime!text/x-pascal!extensions = p,pas
mime!text/x-pcs-gcd!extensions = gcd
mime!text/x-perl!extensions = pl,pm
mime!text/x-python!extensions = py
mime!text/x-setext!extensions = etx
mime!text/x-sh!extensions = sh
mime!text/x-tcl!extensions = tcl,tk
mime!text/x-tex!extensions = tex,ltx,sty,cls
mime!text/x-vcalendar!extensions = vcs
mime!text/x-vcard!extensions = vcf
mime!video/dl!extensions = dl
mime!video/dv!extensions = dif,dv
mime!video/fli!extensions = fli
mime!video/gl!extensions = gl
mime!video/mp4!extensions = mp4
mime!video/mpeg!extensions = mpeg,mpg,mpe
mime!video/ogg!extensions = ogv
mime!video/quicktime!extensions = qt,mov
mime!video/vnd.mpegurl!extensions = mxu
mime!video/x-flv!extensions = flv
mime!video/x-la-asf!extensions = lsf,lsx
mime!video/x-mng!extensions = mng
mime!video/x-ms-asf!extensions = asf,asx
mime!video/x-ms-wm!extensions = wm
mime!video/x-ms-wmv!extensions = wmv
mime!video/x-ms-wmx!extensions = wmx
mime!video/x-ms-wvx!extensions = wvx
mime!video/x-msvideo!extensions = avi
mime!video/x-sgi-movie!extensions = movie
mime!x-conference/x-cooltalk!extensions = ice
mime!x-world/x-vrml!extensions = vrm,vrml,wrl
"""

if __name__ == "__main__":
main()
Binary file added app/cherokee/bin/cget
Binary file not shown.
Loading

0 comments on commit 3a90807

Please sign in to comment.