本文整理汇总了TypeScript中cookie.parse函数的典型用法代码示例。如果您正苦于以下问题:TypeScript parse函数的具体用法?TypeScript parse怎么用?TypeScript parse使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了parse函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getParamFromRequest
/**
* Gets param from the request.
*/
getParamFromRequest(actionOptions: Action, param: ParamMetadata): any {
const context = actionOptions.context;
const request: any = actionOptions.request;
switch (param.type) {
case "body":
return request.body;
case "body-param":
return request.body[param.name];
case "param":
return context.params[param.name];
case "params":
return context.params;
case "session":
if (param.name)
return context.session[param.name];
return context.session;
case "state":
if (param.name)
return context.state[param.name];
return context.state;
case "query":
return context.query[param.name];
case "queries":
return context.query;
case "file":
return actionOptions.context.req.file;
case "files":
return actionOptions.context.req.files;
case "header":
return context.headers[param.name.toLowerCase()];
case "headers":
return request.headers;
case "cookie":
if (!context.headers.cookie) return;
const cookies = cookie.parse(context.headers.cookie);
return cookies[param.name];
case "cookies":
if (!request.headers.cookie) return {};
return cookie.parse(request.headers.cookie);
}
}
示例2: getParamFromRequest
/**
* Gets param from the request.
*/
getParamFromRequest(action: Action, param: ParamMetadata): any {
const request: any = action.request;
switch (param.type) {
case "body":
return request.body;
case "body-param":
return request.body[param.name];
case "param":
return request.params[param.name];
case "params":
return request.params;
case "session":
if (param.name)
return request.session[param.name];
return request.session;
case "state":
throw new Error("@State decorators are not supported by express driver.");
case "query":
return request.query[param.name];
case "queries":
return request.query;
case "header":
return request.headers[param.name.toLowerCase()];
case "headers":
return request.headers;
case "file":
return request.file;
case "files":
return request.files;
case "cookie":
if (!request.headers.cookie) return;
const cookies = cookie.parse(request.headers.cookie);
return cookies[param.name];
case "cookies":
if (!request.headers.cookie) return {};
return cookie.parse(request.headers.cookie);
}
}
示例3: parseCookie
function parseCookie(header = ''): IRequestData {
const [platform, connection, build] = ((parserCookie(header) || Object.create(null)).session || '').split(',');
if (!(build && connection && platform)) {
return null;
}
return { platform, connection, build } as IRequestData;
}
示例4: if
return new Promise<Object>((resolve, reject) => {
// Get cookies
const cookies: { [key: string]: string } = cookie.parse(socket.handshake.headers.cookie);
// Get sesson key
const sid: string = cookies[config.sessionKey];
const sidkey: string = sid.match(/s:(.+?)\./)[1];
// Resolve session
sessionStore.get(sidkey, (err: any, session: any) => {
if (err !== null) {
return console.error(err);
} else if (session === null) {
return;
} else if (typeof session === 'undefined') {
return;
}
const userId: string = session.userId;
requestApi('account/show', {}, userId).then((user: User) => {
UserSettings.findOne({
userId: userId
}, (_: any, settings: IUserSettings) => {
user._settings = settings;
resolve(user);
});
});
});
});
示例5: next
configuration.socketIO.use((socket: any, next: Function) => {
var handshakeData = socket.request;
if (handshakeData.headers.cookie) {
var socketCookie = cookie.parse(handshakeData.headers.cookie);
var sid = socketCookie['connect.sid'];
// Backward-compatibility with older version of cookieParser
var sessionId = (cookieParser.signedCookie || connect.utils.parseSignedCookie)(sid, configuration.sessionStore.secret);
if (sessionId) {
configuration.sessionStore.store.get(sessionId, (err: any, data: any) => {
if (data && data.passport && data.passport.user) {
socket.handshake.session = data.passport.user;
next();
} else {
next(new Error("No such user found"));
}
});
} else {
next(new Error ("Invalid session id"));
}
} else {
next(new Error ("No cookies provided"));
}
});
示例6: getParamFromRequest
/**
* Gets param from the request.
*/
getParamFromRequest(actionOptions: ActionCallbackOptions, param: ParamMetadata): void {
const request: any = actionOptions.request;
switch (param.type) {
case ParamTypes.BODY:
return request.body;
case ParamTypes.PARAM:
return request.params[param.name];
case ParamTypes.SESSION:
if (param.name) {
return request.session[param.name];
} else {
return request.session;
}
case ParamTypes.QUERY:
return request.query[param.name];
case ParamTypes.HEADER:
return request.headers[param.name.toLowerCase()];
case ParamTypes.UPLOADED_FILE:
return request.file;
case ParamTypes.UPLOADED_FILES:
return request.files;
case ParamTypes.BODY_PARAM:
return request.body[param.name];
case ParamTypes.COOKIE:
if (!request.headers.cookie) return;
const cookies = cookie.parse(request.headers.cookie);
return cookies[param.name];
}
}
示例7: getFromCookie
function getFromCookie() {
if (!csrfCookieName) {
return null;
} else {
return cookie.parse(document.cookie)[csrfCookieName];
}
}
示例8: getParamFromRequest
getParamFromRequest(actionOptions: ActionCallbackOptions, param: ParamMetadata): void {
const context = actionOptions.context;
const request: any = actionOptions.request;
switch (param.type) {
case ParamTypes.BODY:
return request.body;
case ParamTypes.PARAM:
return context.params[param.name];
case ParamTypes.SESSION:
throw new Error("@Session decorator is not supported by KoaDriver yet.");
// TODO return session
case ParamTypes.QUERY:
return context.query[param.name];
case ParamTypes.UPLOADED_FILE:
throw new Error("@UploadedFile and @UploadedFiles decorators are not supported by KoaDriver yet.");
// return actionOptions.context.req.file;
case ParamTypes.UPLOADED_FILES:
throw new Error("@UploadedFile and @UploadedFiles decorators are not supported by KoaDriver yet.");
// return actionOptions.context.req.files;
case ParamTypes.HEADER:
return context.headers[param.name.toLowerCase()];
case ParamTypes.BODY_PARAM:
return request.body[param.name];
case ParamTypes.COOKIE:
if (!context.headers.cookie) return;
const cookies = cookie.parse(context.headers.cookie);
return cookies[param.name];
}
}
示例9: disconnect
disconnect(socket: SocketIO.Socket) {
var t: any = cookie.parse(socket.handshake.headers.cookie);
if (!t.ssid) {
return;
}
let connection: ClientConnection | undefined = this.clients.get(t.ssid);
if (!connection) {
return;
}
connection.disconnect = setTimeout(() => {
this.clients.delete(t.ssid);
});
}
示例10: parseCookie
function parseCookie(cookieStr) {
const options = {}
const cookies = []
const parsed = cookie.parse(cookieStr)
// tslint:disable-next-line:forin
for (const k in parsed) {
if (cookieAttributeNames.indexOf(k) !== -1) {
options[k] = parsed[k]
continue
}
cookies.push({ name: k, value: parsed[k] })
}
return cookies.map(c => Object.assign(c, options))
}