Express = require 'express'
morgan = require 'morgan'
methodOverride = require 'method-override'
errorHandler = require 'errorhandler'
compression = require 'compression'
combo = require '../index'

# setting
opts = {
    "port": 3333,
    "assetsPath": "./global",
    "combo_tag":"??",
    "combo_dir_tag":"__",
    "combo_mod_split":","
}

# middleware
app = Express()
app.set 'port', process.env.PORT or opts.port
app.use compression()
app.use morgan('dev')
app.use methodOverride()
app.use Express.query()
app.use errorHandler()

# just static
# eg GET /img/logo.png
app.use Express.static opts.assetsPath, 
        "maxage": Infinity,
        "setHeaders": (res, path)->
            res.setHeader("Access-Control-Allow-Origin", "*")
    
# static combo
app.use combo(opts)

# run
app.listen app.get('port'), ->
    console.log "Express Assests Combo Service run at " + app.get('env') + " listening on port" + app.get('port')
