这个库的框架在 2004 年前就完成了(Rails 2005 年才发布)
所以有些习惯上可能确实不够 Rails,但作为一个基础库,我觉得它的 API 设计还不至于「乱七八糟」,毕竟它的首要目标是实现完备的 RFC2616 标准,其次才是用起来够不够优雅
真要说 Net::HTTP 哪儿有点乱,我觉得是它 Doc,特指 Doc 里面按场景给出示例代码的部分。
Net::HTTP 为了方便使用,加了不少 Class Methods, 主要目的应该是方便用来应付一些简单的请求,如果是用 Net::HTTP 封装 Client,这些方法大概率是用不上的。文档里其实是把各种写法混在一起来编排的,初看的时候确实有点跳跃,如果能分成 简单用法 和 高级用法 两个部分来分开介绍或许会好一点。
Net::HTTP 的源码本身其实挺好的,层次结构都很清晰