国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Koa v2.x 中文文檔 響應(Response)

khlbat / 1761人閱讀

摘要:每當流被設置為響應主體時,作為偵聽器自動添加到事件中以捕獲任何錯誤。不區分大小寫獲取響應標頭字段值。例如這是一個中間件,可以削減除流之外的所有響應。檢查是否已經發送了一個響應頭。設置包含包裹的響應,請注意,沒有相應的。

此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star.

響應(Response)

Koa Response 對象是在 node 的 vanilla 響應對象之上的抽象,提供了諸多對 HTTP 服務器開發有用的功能。

API response.header

響應標頭對象。

response.headers

響應標頭對象。別名是 response.header

response.socket

請求套接字。

response.status

獲取響應狀態。默認情況下,response.status 設置為 404 而不是像 node 的 res.statusCode 那樣默認為 200

response.status=

通過數字代碼設置響應狀態:

100 "continue"

101 "switching protocols"

102 "processing"

200 "ok"

201 "created"

202 "accepted"

203 "non-authoritative information"

204 "no content"

205 "reset content"

206 "partial content"

207 "multi-status"

208 "already reported"

226 "im used"

300 "multiple choices"

301 "moved permanently"

302 "found"

303 "see other"

304 "not modified"

305 "use proxy"

307 "temporary redirect"

308 "permanent redirect"

400 "bad request"

401 "unauthorized"

402 "payment required"

403 "forbidden"

404 "not found"

405 "method not allowed"

406 "not acceptable"

407 "proxy authentication required"

408 "request timeout"

409 "conflict"

410 "gone"

411 "length required"

412 "precondition failed"

413 "payload too large"

414 "uri too long"

415 "unsupported media type"

416 "range not satisfiable"

417 "expectation failed"

418 "I"m a teapot"

422 "unprocessable entity"

423 "locked"

424 "failed dependency"

426 "upgrade required"

428 "precondition required"

429 "too many requests"

431 "request header fields too large"

500 "internal server error"

501 "not implemented"

502 "bad gateway"

503 "service unavailable"

504 "gateway timeout"

505 "http version not supported"

506 "variant also negotiates"

507 "insufficient storage"

508 "loop detected"

510 "not extended"

511 "network authentication required"

__注意__: 不用太在意記住這些字符串, 如果你寫錯了,可以查閱這個列表隨時更正.

response.message

獲取響應的狀態消息. 默認情況下, response.messageresponse.status 關聯.

response.message=

將響應的狀態消息設置為給定值。

response.length=

將響應的 Content-Length 設置為給定值。

response.length

以數字返回響應的 Content-Length,或者從ctx.body推導出來,或者undefined

response.body

獲取響應主體。

response.body=

將響應體設置為以下之一:

string 寫入

Buffer 寫入

Stream 管道

Object || Array JSON-字符串化

null 無內容響應

如果 response.status 未被設置, Koa 將會自動設置狀態為 200204

String

Content-Type 默認為 text/htmltext/plain, 同時默認字符集是 utf-8。Content-Length 字段也是如此。

Buffer

Content-Type 默認為 application/octet-stream, 并且 Content-Length 字段也是如此。

Stream

Content-Type 默認為 application/octet-stream

每當流被設置為響應主體時,.onerror 作為偵聽器自動添加到 error 事件中以捕獲任何錯誤。此外,每當請求關閉(甚至過早)時,流都將被銷毀。如果你不想要這兩個功能,請勿直接將流設為主體。例如,當將主體設置為代理中的 HTTP 流時,你可能不想要這樣做,因為它會破壞底層連接。

參閱: https://github.com/koajs/koa/... 獲取更多信息。

以下是流錯誤處理的示例,而不會自動破壞流:

const PassThrough = require("stream").PassThrough;

app.use(async ctx => {
  ctx.body = someHTTPStream.on("error", ctx.onerror).pipe(PassThrough());
});
Object

Content-Type 默認為 application/json. 這包括普通的對象 { foo: "bar" } 和數組 ["foo", "bar"]

response.get(field)

不區分大小寫獲取響應標頭字段值 field

const etag = ctx.response.get("ETag");
response.set(field, value)

設置響應標頭 fieldvalue:

ctx.set("Cache-Control", "no-cache");
response.append(field, value)

用值 val 附加額外的標頭 field

ctx.append("Link", "");
response.set(fields)

用一個對象設置多個響應標頭fields:

ctx.set({
  "Etag": "1234",
  "Last-Modified": date
});
response.remove(field)

刪除標頭 field

response.type

獲取響應 Content-Type 不含參數 "charset"。

const ct = ctx.type;
// => "image/png"
response.type=

設置響應 Content-Type 通過 mime 字符串或文件擴展名。

ctx.type = "text/plain; charset=utf-8";
ctx.type = "image/png";
ctx.type = ".png";
ctx.type = "png";

注意: 在適當的情況下為你選擇 charset, 比如 response.type = "html" 將默認是 "utf-8". 如果你想覆蓋 charset, 使用 ctx.set("Content-Type", "text/html") 將響應頭字段設置為直接值。

response.is(types...)

非常類似 ctx.request.is(). 檢查響應類型是否是所提供的類型之一。這對于創建操縱響應的中間件特別有用。

例如, 這是一個中間件,可以削減除流之外的所有HTML響應。

const minify = require("html-minifier");

app.use(async (ctx, next) => {
  await next();

  if (!ctx.response.is("html")) return;

  let body = ctx.body;
  if (!body || body.pipe) return;

  if (Buffer.isBuffer(body)) body = body.toString();
  ctx.body = minify(body);
});
response.redirect(url, [alt])

執行 [302] 重定向到 url.

字符串 “back” 是特別提供Referrer支持的,當Referrer不存在時,使用 alt 或“/”。

ctx.redirect("back");
ctx.redirect("back", "/index.html");
ctx.redirect("/login");
ctx.redirect("http://google.com");

要更改 “302” 的默認狀態,只需在該調用之前或之后分配狀態。要變更主體請在此調用之后:

ctx.status = 301;
ctx.redirect("/cart");
ctx.body = "Redirecting to shopping cart";
response.attachment([filename])

Content-Disposition 設置為 “附件” 以指示客戶端提示下載。(可選)指定下載的 filename

response.headerSent

檢查是否已經發送了一個響應頭。 用于查看客戶端是否可能會收到錯誤通知。

response.lastModified

Last-Modified 標頭返回為 Date, 如果存在。

response.lastModified=

Last-Modified 標頭設置為適當的 UTC 字符串。您可以將其設置為 Date 或日期字符串。

ctx.response.lastModified = new Date();
response.etag=

設置包含 " 包裹的 ETag 響應,
請注意,沒有相應的 response.etag getter。

ctx.response.etag = crypto.createHash("md5").update(ctx.body).digest("hex");
response.vary(field)

field 上變化。

response.flushHeaders()

刷新任何設置的標頭,并開始主體。

如果這篇文章對您有幫助, 感謝 下方點贊 或 Star GitHub: koa-docs-Zh-CN 支持, 謝謝.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89474.html

相關文章

  • Koa v2.x 中文文檔

    摘要:的對象提供了用于處理響應的方法,該響應委托給。應用對象是與的服務器和處理中間件注冊的接口,從發送到中間件,默認錯誤處理,以及上下文,請求和響應對象的配置。 此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star. showImg(https://segmentfault.com/img/bVNQYf...

    Cobub 評論0 收藏0
  • Koa v2.x 中文文檔 使用指南

    摘要:當中間件運行時,它必須手動調用來運行下游中間件。例如,這個中間件從讀取文件名,然后在將給指定合并結果之前并行讀取每個文件的內容。當你無法控制中間件的名稱時,這很有用。 指南 此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star. 本指南涵蓋的 Koa 主題不與 API 直接相關,例如編寫中間件的最...

    anquan 評論0 收藏0
  • Koa v2.x 中文文檔 上下文(Context)

    摘要:方法拋出一個屬性默認為的錯誤,這將允許做出適當地響應。這用于修飾其人機友好型錯誤并向上游的請求者報告非常有用。請注意,不支持使用此功能。這可能會破壞中間件和本身的預期功能。 上下文(Context) 此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star. Koa Context 將 node 的 ...

    Arno 評論0 收藏0
  • Koa v2.x 中文文檔 API

    此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star. 相關 API 上下文(Context) 請求(Request) 響應(Response) 安裝 Koa 依賴 node v7.6.0 或 ES2015及更高版本和 async 方法支持. 你可以使用自己喜歡的版本管理器快速安裝支持的 node 版本:...

    mikasa 評論0 收藏0
  • Koa v2.x 中文文檔 常見問題

    摘要:常見問題此系列文章的應用示例已發布于可以幫助改進或關注更新歡迎替代它更像是,但是很多的好東西被轉移到的中間件級別,以幫助形成更強大的基礎。這使得中間件對于整個堆棧而言不僅僅是最終應用程序代碼,而且更易于書寫,并更不容易出錯。 常見問題 此系列文章的應用示例已發布于 GitHub: koa-docs-Zh-CN. 可以 Fork 幫助改進或 Star 關注更新. 歡迎 Star. Koa...

    Paul_King 評論0 收藏0

發表評論

0條評論

khlbat

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<