Cookie class
This commit is contained in:
parent
097c9e160c
commit
1b361227e7
50
net/Components/Cookie.js
Normal file
50
net/Components/Cookie.js
Normal file
@ -0,0 +1,50 @@
|
||||
var encodeCookie = function( cookie )
|
||||
{
|
||||
var cookieStr = "";
|
||||
for( var i in cookie )
|
||||
{
|
||||
cookieStr += i + "=" + encodeURI( cookie[i] ) + ";";
|
||||
}
|
||||
|
||||
return cookieStr;
|
||||
};
|
||||
|
||||
|
||||
var Cookie = function( cookieStr, HTTP )
|
||||
{
|
||||
var list = {};
|
||||
|
||||
cookieStr && cookieStr.split( ";" ).forEach( function( cookie )
|
||||
{
|
||||
var parts = cookie.split( "=" );
|
||||
list[ parts.shift().trim() ] = decodeURI( parts.join( "=" ) );
|
||||
} );
|
||||
|
||||
this.__cookie = list;
|
||||
|
||||
this.HTTP = HTTP;
|
||||
};
|
||||
|
||||
Cookie.prototype.set = function( name, value )
|
||||
{
|
||||
this.__cookie[ name ] = value;
|
||||
};
|
||||
|
||||
Cookie.prototype.seth = function( name, value )
|
||||
{
|
||||
this.set( name, value );
|
||||
this.HTTP.response.headers[ "Set-Cookie" ] = this.toString();
|
||||
};
|
||||
|
||||
Cookie.prototype.get = function( name )
|
||||
{
|
||||
return this.__cookie[ name ];
|
||||
};
|
||||
|
||||
Cookie.prototype.toString = function()
|
||||
{
|
||||
return encodeCookie( this.__cookie );
|
||||
};
|
||||
|
||||
|
||||
module.exports = Cookie;
|
@ -1,4 +1,5 @@
|
||||
var Dragonfly = global.Dragonfly;
|
||||
var Cookie = require( "./Components/Cookie" );
|
||||
|
||||
var HTTP = function( req, res )
|
||||
{
|
||||
@ -27,15 +28,18 @@ var HTTP = function( req, res )
|
||||
}
|
||||
}
|
||||
, content: ''
|
||||
, cookie: new Cookie( "", this )
|
||||
, raw: res
|
||||
};
|
||||
|
||||
this.request = {
|
||||
uri: require('url').parse( req.url )
|
||||
, isPost: ( req.method == 'POST' )
|
||||
, cookie: new Cookie( req.headers.cookie, this )
|
||||
, remoteAddr: req.connection.remoteAddress
|
||||
, raw: req
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user