deno oka 全局变量设置
时间: 2023-12-07 10:03:51 浏览: 143
要在 Deno 中设置全局变量,您可以使用 `Deno` 对象的 `env` 属性。例如,要设置名为 `MY_VAR` 的全局变量并将其值设置为 `hello world`,可以执行以下操作:
```typescript
Deno.env.set("MY_VAR", "hello world");
```
然后,您可以在您的代码中使用该变量,如下所示:
```typescript
console.log(Deno.env.get("MY_VAR")); // 输出 "hello world"
```
请注意,这只会在当前运行时环境中设置变量,而不是全局的操作系统级别。
相关问题
deno oka 全局拦截器示例代码
以下是一个使用 Deno OAK 框架编写的全局拦截器示例代码:
```typescript
import { Application, Context } from "https://deno.land/x/oak/mod.ts";
const app = new Application();
app.use(async (ctx: Context, next: () => Promise<void>) => {
// 在请求被发送到目标服务器之前执行的代码
console.log(`Request URL: ${ctx.request.url}`);
await next(); // 执行下一个中间件函数
// 在响应被发送回客户端之前执行的代码
console.log(`Response Status: ${ctx.response.status}`);
});
app.use(async (ctx: Context) => {
// 处理请求的代码
ctx.response.body = "Hello, World!";
});
await app.listen({ port: 8000 });
```
上述代码中,第一个中间件函数会在请求被发送到目标服务器之前输出请求的 URL,然后调用 `next()` 方法执行下一个中间件函数。第二个中间件函数会处理请求并返回响应,然后第一个中间件函数会在响应被发送回客户端之前输出响应的状态码。这样就实现了一个简单的全局拦截器。
deno oka 全局拦截获取请求头信息
您可以使用Deno的标准库中的`serveHttp`函数来创建一个HTTP服务器,并在其中添加请求头拦截器。以下是一个示例代码:
```typescript
import { serve } from "https://deno.land/std/http/server.ts";
import { serveHttp } from "https://deno.land/x/serve_http/mod.ts";
const server = serve({ port: 8000 });
console.log("Server listening on port 8000");
for await (const req of server) {
// 在此处添加请求头拦截器
const headers = req.headers;
console.log(headers);
await serveHttp(req);
}
```
在上面的代码中,我们使用Deno的`serve`函数创建了一个HTTP服务器,然后使用`serveHttp`函数将请求交给Deno标准库中的HTTP处理程序处理。在HTTP请求到达服务器时,我们可以在`for await`循环中添加请求头拦截器,并使用`req.headers`获取请求头信息。
阅读全文