HTTP
| Feature | Project | Docs | Examples |
|---|---|---|---|
| HTTP1 | Perfect-HTTP | 📎📎 | |
| HTTP2 | Perfect-HTTP | 📎📎 | |
| SSL/TLS | Perfect-Net | ||
| Request Routing | Perfect-HTTPServer | 📎📎 | |
| Request & Response Filters | Perfect-HTTPServer | 📎📎 | |
| Sessions Drivers (available for in-memory, MySQL, PostgreSQL, CouchDB, SQlite3 and MongoDB) | Sessions | 📎📎 | |
| CSRF (built into Session Management) | CSRF | ||
| CORS (built into Session Management) | CORS | ||
| Static File Serving | Perfect-HTTPServer | 📎 | |
| HTTP Request Logging | Perfect-RequestLogger | ||
| WebSockets | Perfect-WebSockets | 📎📎 | |
| WebRedirects Filters | Perfect-WebRedirects | 📎 | |
| FastCGI Connectors | FastCGI | 📎 | |
| gZip Content Compression | Perfect-HTTPServer | ||
| Multiple Server Instances on Different Ports from the same Executable | Perfect-HTTPServer | 📎 |
Templating
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Mustache | Perfect-Mustache | 📎 | |
| Markdown (via 3rd party libs) |
Data Formats
| Feature | Project | Docs | Examples |
|---|---|---|---|
| JSON encoding & decoding | Perfect | 📎📎 | |
| XML | Perfect-XML | ||
| BSON (Through the MongoDB drivers) | Perfect-MongoDB |
Cryptography
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Encode/Decode Hex | Perfect-Crypto | ||
| Encode/Decode Base 64 | Perfect-Crypto | ||
| Digest Modes (md4, md5, sha, sha1, dss, dss1, ecdsa, sha224, sha256, sha384, sha512, ripemd160, whirlpool) | Perfect-Crypto | ||
| Available ciphers (des_ecb, des_ede, des_ede3, des_ede_ecb, des_ede3_ecb, des_cfb64, des_cfb1, des_cfb8, des_ede_cfb64, des_ede3_cfb1, des_ede3_cfb8, des_ofb, des_ede_ofb, des_ede3_ofb, des_cbc, des_ede_cbc, des_ede3_cbc, desx_cbc, des_ede3_wrap, rc4, rc4_40, rc4_hmac_md5, rc2_ecb, rc2_cbc, rc2_40_cbc, rc2_64_cbc, rc2_cfb64, rc2_ofb, bf_ecb, bf_cbc, bf_cfb64, bf_ofb, cast5_ecb, cast5_cbc, cast5_cfb64, cast5_ofb, aes_128_ecb, aes_128_cbc, aes_128_cfb1, aes_128_cfb8, aes_128_cfb128, aes_128_ofb, aes_128_ctr, aes_128_ccm, aes_128_gcm, aes_128_xts, aes_128_wrap, aes_192_ecb, aes_192_cbc, aes_192_cfb1, aes_192_cfb8, aes_192_cfb128, aes_192_ofb, aes_192_ctr, aes_192_ccm, aes_192_gcm, aes_192_wrap, aes_256_ecb, aes_256_cbc, aes_256_cfb1, aes_256_cfb8, aes_256_cfb128, aes_256_ofb, aes_256_ctr, aes_256_ccm, aes_256_gcm, aes_256_xts, aes_256_wrap, aes_128_cbc_hmac_sha1, aes_256_cbc_hmac_sha1, aes_128_cbc_hmac_sha256, aes_256_cbc_hmac_sha256, camellia_128_ecb, camellia_128_cbc, camellia_128_cfb1, camellia_128_cfb8, camellia_128_cfb128, camellia_128_ofb, camellia_192_ecb, camellia_192_cbc, camellia_192_cfb1, camellia_192_cfb8, camellia_192_cfb128, camellia_192_ofb, camellia_256_ecb, camellia_256_cbc, camellia_256_cfb1, camellia_256_cfb8, camellia_256_cfb128, camellia_256_ofb, seed_ecb, seed_cbc, seed_cfb128, seed_ofb) | Perfect-Crypto | ||
| JWT (JSON Web Tokens) |
Networking
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Low level networking (TCP & UDP) | Perfect-Net | ||
| IPv4 networking | Perfect-Net | ||
| IPv6 networking | Perfect-Net | ||
| CURL | Perfect-CURL | 📎 | |
| Apple Push Notifications | Perfect-Notifications | 📎 | |
| OpenSSL (HTTP, SMTP, and other networking protocols) | Perfect-Net | ||
| Network Sockets | Perfect-Net |
Utilities
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Bytes (Additional byte handling functions) | Perfect | ||
| File & Directory handling | Perfect | 📎📎 | |
| Zip file pack and unpacking | Perfect | ||
| Console Logging | Perfect | ||
| File-based Logging | Perfect | ||
| Remote Logging (Logging to remote servers) | Perfect-Logger | 📎 | |
| SMTP (mail handling) | Perfect-SMTP | 📎 | |
| Direct access to command-line functionality (SysProcess) | Perfect | 📎 | |
| Threading (Cross-platform, independent threading library) | Perfect-Thread |
Analytics
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Google Analytics Measurement Protocol | Perfect-GoogleAnalytics-MeasurementProtocol | ||
| Remote Logging Server | Perfect-Logger |
Authentication
| Feature | Project | Docs | Examples |
|---|---|---|---|
| HTTP Basic auth | |||
| Turnstile authentication drivers (MySQL, PostgreSQL, SQLite3, CouchDB, MongoDB) | Perfect-Turnstile | 📎📎📎 | |
| OAuth2 | Perfect-Authentication | 📎 | |
| Facebook OAuth2 | Perfect-Authentication | 📎 | |
| Salesforce OAuth2 | Perfect-Authentication | 📎 | |
| LinkedIn OAuth2 | Perfect-Authentication | 📎 | |
| Google OAuth2 | Perfect-Authentication | 📎 | |
| Slack OAuth2 | Perfect-Authentication | 📎 | |
| GitHub OAuth2 | Perfect-Authentication | 📎 | |
| Local authentication templates | |||
| SPNEGO (Kerberos) | Perfect-SPNEGO | 📎 | |
| LDAP (with OpenLDAP) | Perfect-LDAP | 📎 | |
| Windows Active Directory (Through LDAP) | Perfect-LDAP | 📎 |
Database Connectors
| Feature | Project | Docs | Examples |
|---|---|---|---|
| SQLite | Perfect-SQLite | 📎 | |
| MySQL | Perfect-MySQL | 📎 | |
| MariaDB | Perfect-MariaDB | ||
| PostgreSQL | Perfect-PostgreSQL | 📎 | |
| FileMaker | Perfect-FileMaker | ||
| MongoDB | Perfect-MongoDB | 📎 | |
| Apache CouchDB | Perfect-CouchDB | 📎 | |
| Redis | Perfect-Redis | ||
| ODBC (*PLANNED) (Oracle/DB2/MSSQL) |
ORM Connectors
| Feature | Project | Docs | Examples |
|---|---|---|---|
| PostgresStORM | Perfect-Turnstile-PostgreSQL | 📎 | |
| MySQLStORM | Perfect-Turnstile-MySQL | 📎 | |
| SQLiteStORM | Perfect-Turnstile-SQLite | 📎 | |
| CouchDBStORM | Perfect-Turnstile-CouchDB | 📎 |
Big Data
| Feature | Project | Docs | Examples |
|---|---|---|---|
| GridFS (Through MongoDB) | Perfect-MongoDB | ||
| Hadoop: WebHDFS, MapReduce & Yarn | Perfect-Hadoop | 📎 |
Realtime Streaming
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Kafka | Perfect-Kafka | 📎 |
International Support
| Feature | Project | Docs | Examples |
|---|---|---|---|
| English | PerfectDocs | ||
| Simplified Chinese | PerfectDocs |
Perfect Assistant
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Project Start/Management | Perfect-Assistant | ||
| XCode Integration | Perfect-Assistant | ||
| Deployment to AWS | Perfect-Assistant | ||
| Deployment to Google Cloud | Perfect-Assistant | ||
| Dependency Management | Perfect-Assistant | ||
| Pre-flight Testing | Perfect-Assistant |
Additional Apps
| Feature | Project | Docs | Examples |
|---|---|---|---|
| Remote Logging Server | Perfect-Logger | 📎 | |
| Blog System | Perfect-Blog-Mustache | 📎 |