# feiehews

> A simple http server, using http2 with high efficiency, support Server Push.

Latest version **1.0.2** (published 2022-10-01) · GPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install feiehews
pnpm add feiehews
yarn add feiehews
bun add feiehews
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2022-10-01 |
| First published | 2022-10-01 |
| Weekly downloads | 0 |
| License | GPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 50.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | feie9454 |
| Maintainers | feie9454 |
| Keywords | http, http2 |

## Links

- npm: https://www.npmjs.com/package/feiehews
- Repository: https://github.com/feie9455/feiehews
- Homepage: https://github.com/feie9455/feiehews#readme
- Issues: https://github.com/feie9455/feiehews/issues
- npm.io page: https://npm.io/package/feiehews

## Recent versions

- 1.0.2 (latest) — 2022-10-01
- 1.0.1 — 2022-10-01
- 1.0.0 — 2022-10-01

## README

# Feiehews - A simple http server
## 例子
```
import FeieServer from "./feiehews.mjs";
let server = new FeieServer({
    https: true,
    key: "./server.key", //path to server.key
    cert: "./server.crt", //path to server.crt
    staticPath: "./", //path to work dir
    enableGzip: true,
    httpVersion: 2,
});
server.setHttpFallback(80)
server.listen(443, () => {
    console.log("Server started at port 443");
});
```
## 构造函数
```
let server = new FeieServer(
    {
        httpVersion: 2 //设置http版本，1或2
        https: true //是否使用https
        enableGzip: true //是否启用gzip
        key: "./server.key" //https密钥
        cert: "./server.crt" //https证书
        staticPath: "/yourpath/" //静态文件路径
        logOutputer: console.log //日志输出器
        enableServerPush: true //是否启用服务端推送
        enableHttpCache: true //是否启用http缓存
    }
)
```
## API
### FeieServer.listen()
监听指定端口
```
server.listen(443, //port
    () => {console.log("Server started at port 443"); //启动成功后触发
});
```
### FeieServer.setHttpFallback()
当用户使用http访问时重定向至https
```
server.setHttpFallback(80) 
```
### FeieServer.setExtraHeader()
设置额外的响应头
```
server.setExtraHeader([
    {'Cross-Origin-Embedder-Policy': 'require-corp'},
    {'Cross-Origin-Opener-Policy': 'same-origin'},
])

server.setExtraHeader({'Cross-Origin-Embedder-Policy': 'require-corp'})
```
### FeieServer.setServerPush
设置http2服务端推送
```
server.setServerPush({
    "/feieAni/index.html": [
        "/feieAni/main.js",
        "/feieAni/main.css",
        "/feieAni/home.css",
        ...
    ]
})
```
### FeieServer.setLogOutputer()
设置日志处理器
```
server.setLogOutputer(console.log)
```
### FeieServer.setStatic()
更改工作目录
```
server.setStatic("/yourpath/")
```

---
_Source: https://npm.io/package/feiehews · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
