Skip to content

amiltoncamargo/HTTPParserC

 
 

Repository files navigation

HTTP Parser

Build Status Version Carthage Compatible License Platform

HTTP message parser written in C. It parses both requests and responses. The parser is designed to be used in performance HTTP applications. It does not make any syscalls nor allocations, it does not buffer data, it can be interrupted at anytime. Depending on your architecture, it only requires about 40 bytes of data per message stream (in a web server that is per connection).

Features:

  • No dependencies
  • Handles persistent streams (keep-alive).
  • Decodes chunked encoding.
  • Upgrade support
  • Defends against buffer overflow attacks.

The parser extracts the following information from HTTP messages:

  • Header fields and values
  • Content-Length
  • Request method
  • Response status code
  • Transfer-Encoding
  • HTTP version
  • Request URL
  • Message body

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate the HTTP Parser C library into your Xcode project using CocoaPods, specify it in your Podfile:

use_frameworks!
pod 'Telegraph'

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate HTTPParserC into your Xcode project using Carthage, specify it in your Cartfile:

github "Building42/HTTPParserC"

Run carthage update to build the framework and drag the built HTTPParserC.framework into your Xcode project.

Documentation

Visit https://github.com/nodejs/http-parser for more information

About

HTTP message parser written in C

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 95.3%
  • Python 3.0%
  • Ruby 1.3%
  • Objective-C 0.4%