---
# System prepended metadata

title: "クラス SystemResponse\U0001F60A"

---

[Documents Puddle FrameWork](/mA2CFxGDSv6ws2hL5auNTA) ≫ [system.ts](https://hackmd.io/J11joHLRRROYWnY3BTNXcg) ≫ クラス ServerResponse
# クラス SystemResponse😊
Responseオブジェクトを管理するクラス。
```typescript
export class SystemResponse
```

> [TOC]

<hr style="height: 0;margin: 30px">

## フィールド

### **#request**
requestを格納する変数。
```typescript
#request: ServerRequest
```

<hr style="height: 1px;">

### **#preset**
presetを格納する変数。
```typescript
#preset: { [key: string]: any; }
```

<hr style="height: 1px;">

### **response**
レスポンスオブジェクト。
```typescript
response: Response
```

<hr style="height: 1px;">

### **isForceDownload**
強制ダウンロードかどうか（初期値はfalse）。
```typescript
isForceDownload: boolean
```

<hr style="height: 0;margin: 30px">

## コンストラクタ
レスポンスオブジェクトの初期化。
```typescript
constructor(request: ServerRequest)
```
> #### 引数
> * **request: ServerRequest**
> request

<hr style="height: 0;margin: 30px">

## メソッド

### **setText**
Responseオブジェクトにテキストを設定する。
```typescript
setText(text: String, status: Number = 200, statusText: String | null = null): void
```
> #### 引数
> * **text: String**
> クライアントに返す文字列。
> * **status: Number**
> ステータスコード（デフォルトは200）。
> * **statusText**
> ステータステキスト。

<hr style="height: 1px;">


### **setFile**
Responseオブジェクトにファイルを設定する。
ファイルを読み込み、`this.setText()`を実行する。
```typescript
async setFile(filePath: String, status: Number = 200, statusText: String | null = null): Promise<void>
```
> #### 引数
> * **filePath: String**
> クライアントに返すファイルのパス。
> * **status: Number**
> ステータスコード（デフォルトは200）。
> * **statusText**
> ステータステキスト。

<hr style="height: 1px;">

### **preset**
セットしたファイルや文字列に変数が埋め込まれていた場合に、参照されるオブジェクトを定義する。
```typescript
preset(object: { [key: string]: any; }): void
```
> #### 引数
> * **object: Any**
> 参照される変数を格納したオブジェクト。

<hr style="height: 1px;">

### **setCookie**
Cookieのセットを行う。
```typescript
setCookie(cookie: Cookie): void
```
> #### 引数
> * **cookie: Cookie**
> セットするCookie。

<hr style="height: 1px;">

### **deleteCookie**
Cookieの削除を行う。
```typescript
deleteCookie( name: string, attributes?: { path?: string; domain?: string } ): void
```
> #### 引数
> * **name: string**
> 削除するCookie名。

<hr style="height: 1px;">

### **respond**
ServerRequestのrespondを実行する。
`isForceDownload`が`true`の場合は、`Content-Type`を`application/octet-stream`に設定する。
```typescript
respond(): void
```

<hr style="height: 0;margin: 30px">

---
[Documents Puddle FrameWork](/mA2CFxGDSv6ws2hL5auNTA) ≫ [system.ts](https://hackmd.io/J11joHLRRROYWnY3BTNXcg) ≫ クラス ServerResponse