Backend

请求上下文

请求上下文是一个请求级别的共享变量,可以方便不同的业务方法共享请求级别的全局变量,比如 cookie 和 session 会放到请求上下文中,方便用户在自定义的中间件或者业务代码中获取。

请求上下文与请求相关,每个请求都有属于自己的请求上下文,可以理解为请求级别的共享变量就可以存放在请求上下文中,这样就可以方便不同的业务方法共享请求级别的全局变量,比如 cookiesession 会放到请求上下文中,方便用户在自定义的中间件或者业务代码中获取。

获取请求级别变量

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);
import { Context } from "@malagu/web/lib/node";
const foo = Context.getCookies().get("foo");
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";

Copyright © 2024 Zero (github@groupguanfang) 粤ICP备2023102563号