2.0.4 • Published 1 year ago

titbit-httpc v2.0.4

Weekly downloads
16
License
GPL-3.0
Repository
-
Last release
1 year ago

titbit-httpc

titbit扩展模块,需要配合titbit使用。

此扩展可用于Web服务端同时兼容HTTP/1.1和HTTP/2协议。

titbit不支持同时兼容两种协议,当然这是可以实现的。通过使用Node.js提供的http2模块的兼容API。

因为兼容的是http和https模块的API,所以在titbit框架下,要使用针对HTTP/1.1协议设计的请求上下文。

同时兼容也要做一些判断处理,也就是在请求初始的一些处理上,要多做一些判断并设定一些属性的值。从测试来看,对性能的影响几乎可以忽略。

注意事项

  • 因为http2的服务要基于tls,所以对http1的兼容也需要开启https。

  • 选项中的http2不能为true,否则会使用http2的模块。

  • 扩展初始化会自动开启http2服务并开启兼容选项。

  • 请求上下文和协议版本有关的属性会根据请求的协议动态设定。

  • 请尽可能都保持titbit和titbit-httpc最新版。

使用

'use strict'

const titbit = require('titbit')
const httpc = require('titbit-httpc')

//不能开启http2选项,但是必须要设置证书和密钥。
const app = new titbit({
  debug: true,
  cert : './rsa/localhost.cert',
  key : './rsa/localhost.key'
})

let hc = new httpc()

hc.init(app)

app.get('/', async c => {
  
  console.log(c.method, c.path, c.host, c.headers)

  console.log(c.version, c.major, '    --')

  c.send('ok')

})

app.run(1234)
2.0.4

1 year ago

2.0.3

2 years ago

2.0.3-beta

2 years ago

2.0.2-beta

3 years ago

2.0.2

3 years ago

2.0.1-beta3

3 years ago

2.0.1-beta2

3 years ago

2.0.1-beta

3 years ago

2.0.1

3 years ago

2.0.0-beta

3 years ago

2.0.0

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.6-beta

3 years ago

1.0.5

3 years ago

1.0.5-beta

3 years ago

1.0.4

3 years ago

1.0.3-beta

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.0.0-beta2

3 years ago

1.0.0-beta

3 years ago