请求上下文与请求相关,每个请求都有属于自己的请求上下文,可以理解为请求级别的共享变量就可以存放在请求上下文中,这样就可以方便不同的业务方法共享请求级别的全局变量,比如 cookie 和 session 会放到请求上下文中,方便用户在自定义的中间件或者业务代码中获取。
获取请求级别变量
import { Context } from '@malagu/web/lib/node';
Context.getAttr('foo', AttributeScope.Request);
设置请求级别变量
import { Context } from '@malagu/web/lib/node';
const foo = Context.setAttr('foo', 'bar', AttributeScope.Request);
获取 Session 级别变量
import { Context } from '@malagu/web/lib/node';
Context.getAttr('foo', AttributeScope.Session);
设置 Session 级别变量
import { Context } from '@malagu/web/lib/node';
const foo = Context.setAttr('foo', 'bar', AttributeScope.Session);
获取应用级别变量
import { Context } from '@malagu/web/lib/node';
Context.getAttr('foo', AttributeScope.App);
设置应用级别变量
import { Context } from '@malagu/web/lib/node';
const foo = Context.setAttr('foo', 'bar', AttributeScope.App);
获取 Cookie
import { Context } from '@malagu/web/lib/node';
const foo = Context.getCookies().get('foo');
设置 Cookie
import { Context } from '@malagu/web/lib/node';
Context.getCookies().set('foo', 'bar');
获取 Session
与上面的取 Session 方式等效
import { Context } from '@malagu/web/lib/node';
const foo = Context.getSession().foo;
设置 Session
与上面设置 Session 方式等效
import { Context } from '@malagu/web/lib/node';
Context.getSession().foo = 'bar';