DIR : /home/kozerus/public_html/pn/uize/site-source/js/Uize/Build/WebServer.js
/home/kozerus/public_html/pn/uize/site-source/js/Uize/Build
/*______________
| ______ | U I Z E J A V A S C R I P T F R A M E W O R K
| / / | ---------------------------------------------------
| / O / | MODULE : Uize.Build.WebServer Package
| / / / |
| / / / /| | ONLINE : http://www.uize.com
| /____/ /__/_| | COPYRIGHT : (c)2012-2016 UIZE
| /___ | LICENSE : Available under MIT License or GNU General Public License
|_______________| http://www.uize.com/license.html
*/
/* Module Meta Data
type: Package
importance: 1
codeCompleteness: 100
docCompleteness: 4
*/
/*?
Introduction
The =Uize.Build.WebServer= package provides a method for running a Web server for a project on the localhost.
*DEVELOPERS:* `Chris van Rensburg`
EXAMPLE USAGE
......................................................................................................
node build.js Uize.Build.WebServer sourcePath=site-source tempPath=site-temp builtPath=site-built staleBefore=now isDev=true
......................................................................................................
Parameters
sourcePath
.
tempPath
.
builtPath
.
staleBefore
.
isDev
.
*/
Uize.module ({
name:'Uize.Build.WebServer',
required:[
'Uize.Url',
'Uize.Services.FileBuilder',
'Uize.Services.FileSystem'
],
builder:function () {
'use strict';
return Uize.package ({
perform:function (_params) {
var
_fileBuilder = Uize.Services.FileBuilder.singleton (),
_fileSystem = Uize.Services.FileSystem.singleton (),
_port = 1337,
_host = '127.0.0.1',
_http = require ('http'),
_mimeTypes = {
html:'text/html',
text:'text/plain',
js:'application/javascript',
css:'text/css',
png:'image/png',
gif:'image/gif',
jpg:'image/jpeg'
},
_builtPath = _params.builtPath
;
_http.createServer (
function (_request,_response) {
/*** default to index and strip query ***/
var _requestUrl = _request.url == '/' ? '/index.html' : _request.url;
/*** remove query from URL (since we don't handle this on the server side yet) ***/
var _queryPos = _requestUrl.indexOf ('?');
if (_queryPos > -1)
_requestUrl = _requestUrl.slice (0,_queryPos)
;
var
_builtUrl = _builtPath + _requestUrl,
_fileContents,
_startTime = Uize.now ()
;
try {
_fileBuilder.buildFile (Uize.copyInto ({url:_requestUrl.slice (1),filesModified:true},_params));
_fileContents = _fileSystem.readFile ({path:_builtUrl,encoding:'buffer'});
_response.writeHead (200,{'Content-Type':_mimeTypes [Uize.Url.from (_requestUrl).fileType]});
} catch (_error) {
console.log ('404: ' + _requestUrl);
_fileContents = '404';
_response.writeHead (404,{'Content-Type':'text/html'});
}
_response.end (_fileContents);
console.log ('PAGE DELIVERY TIME: ' + _requestUrl + ' (' + Uize.since (_startTime) + ')\n');
}
).listen (_port,_host);
console.log ('Server running at http://' + _host + ':' + _port + '/');
/*?
Static Methods
Uize.Build.WebServer.perform
SYNTAX
.........................................
Uize.Build.WebServer.perform (paramsOBJ);
.........................................
Parameters
sourcePath
A string, specifying the folder path for the site's source code.
tempPath
A string, specifying the folder path for temporary files created while building files for the site.
builtPath
A string, specifying the folder path for the built files of the site.
staleBefore
.
isDev
.
*/
}
});
}
});
//
koh5_pano
Drag mouse to navigate.
Navigation
- Left/Right Mouse drag: Changes camera heading.
- Up/Sown Mouse drag: Changes camera pitch.
- Scroll wheel: Changes camera field of view.
- I-Key: Displays Info panel with canvas size, image size and FPS.
17.Aug.2010, Martin Wengenmayer