npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

titbit-httpc

v2.0.4

Published

the extension of titbit for http1 and http2 server

Downloads

24

Readme

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)