Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
- Moved directory explanation list into a table. Easier on the eyes.
- Added contribution guidelines, including information regarding the CLA.
- Merged in [Pascal Borreli's typo fix](facebook#6) for "HTTPTransaction".
  • Loading branch information
adammcarth committed Nov 6, 2014
1 parent 97546cd commit 255f9ca
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,15 @@ packages first. Proxygen, fbthrift, and folly are all autotools based projects.

Directory structure and contents:

* `proxygen/external/` Contains non-installed 3rd-party code proxygen depends on.
* `proxygen/lib/` Core networking abstractions.
* `proxygen/lib/http/` HTTP specific code.
* `proxygen/lib/services/` Connection management and server code.
* `proxygen/lib/ssl/` TLS abstractions and OpenSSL wrappers.
* `proxygen/lib/utils/` Miscellaneous helper code.
* `proxygen/httpserver/` Contains code wrapping `proxygen/lib/` for building simple C++ http servers. We recommend building on top of these APIs.
| Directory | Purpose |
|----------------------------|------------------------------------------------------------------------|
| `proxygen/external/` | Contains non-installed 3rd-party code proxygen depends on. |
| `proxygen/lib/` | Core networking abstractions. |
| `proxygen/lib/http/` | HTTP specific code. |
| `proxygen/lib/services/` | Connection management and server code. |
| `proxygen/lib/ssl/` | LS abstractions and OpenSSL wrappers. |
| `proxygen/lib/utils/` | Miscellaneous helper code. |
| `proxygen/httpserver/` | Contains code wrapping `proxygen/lib/` for building simple C++ http servers. We recommend building on top of these APIs. |

### Architecture

Expand All @@ -66,7 +68,7 @@ it a transaction identifier. The codec then calls into `HTTPSession` which
is responsible for maintaining the mapping between transaction identifier
and `HTTPTransaction` objects. Each HTTP request/response pair has a
separate `HTTPTransaction` object. Finally, `HTTPTransaction` forwards the
call to a handler object which implements `HTTPTransation::Handler`. The
call to a handler object which implements `HTTPTransaction::Handler`. The
handler is responsible for implementing business logic for the request or
response.

Expand Down Expand Up @@ -134,6 +136,15 @@ copy of these docs by running `doxygen Doxyfile` from the project
root. You'll want to look at `html/namespaceproxygen.html` to start. This
will also generate folly and thrift documentation.
### Contributing
Contribututions to Proxygen are more than welcome.
1. Make sure you've [signed the CLA](https://code.facebook.com/cla).
2. Fork this repository.
3. Create a new branch, eg: `git checkout -b my-new-feature`.
4. Commit your changes.
5. Send in a pull request outlining your changes.
### Whitehat
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for
Expand Down

0 comments on commit 255f9ca

Please sign in to comment.