# Route

#### Returning data

Every route should return \[] or {}. Only type of allowed result is json.

```typescript
import type { ArcRequest, ArcResponse } from "@arcend/core";

const GET = async(req: ArcRequest, res: ArcResponse) =>
{
    res.setCode(200); // default code is 200
    return {
        message: "Arcend Framework"
    };
};
export { GET };
```

#### Methods

* GET
* POST
* PUT
* DELETE

```typescript
export { GET, POST, PUT, DELETE };
```

#### ArcRequest

```typescript
interface ArcRequest
{
    query: Record<string, string>, // All params after ? in url
    body: Record<string, any>, // Request body
    headers: Record<string, string | string[]>, // Headers
    method: Method, // GET | POST | PUT | DELETE
    path: string // Route path
};
```

#### ArcResponse

```typescript
interface ArcResponse
{
    setCode: (code: number) => void, // Response code
    addHeader: (header: string, value: string) => void, // Add header
    setMiddle: (middle: Middle) => void // Set middleware
};
```
