hapi.dev Open in urlscan Pro
2a05:d014:58f:6202::64  Public Scan

Submitted URL: http://hapi.dev/
Effective URL: https://hapi.dev/
Submission: On June 01 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * API
 * Tutorials
 * Resources
 * Policies
 * Modules
 * Plugins
 * Shop
 * Support

 * Home
 * API
 * Tutorials
 * Resources
 * Policies
 * Modules
 * Plugins
 * Shop
 * Support

TUTORIALS

 * Getting Started
 * Express Migration
 * Authentication
 * Caching
 * Cookies
 * Logging
 * Plugins
 * Routing
 * Server Methods
 * Serving Static Files
 * Testing
 * Validation
 * Views

RESOURCES

 * Changelog
 * Module Status
 * List

POLICIES

 * Code of Conduct
 * Contributing
 * License
 * Security
 * Sponsors
 * Style Guide
 * Support

MODULES

 * accept
   * Home
     
     
     
   * API
   * Changelog
 * ammo
   * Home
     
     
     
   * API
   * Changelog
 * b64
   * Home
     
     
     
   * API
   * Changelog
 * basic
   * Home
     
     
     
   * API
   * Changelog
 * bell
   * Home
     
   * Providers
   * Examples
   * API
   * Changelog
 * boom
   * Home
     
     
     
   * API
   * Changelog
 * bossy
   * Home
     
     
     
   * API
   * Changelog
 * bounce
   * Home
     
     
     
   * API
   * Changelog
 * bourne
   * Home
     
     
     
   * API
   * Changelog
 * call
   * Home
     
     
     
   * API
   * Changelog
 * catbox
   * Home
     
     
     
   * API
   * Changelog
 * catbox-memcached
   * Home
     
     
     
   * API
   * Changelog
 * catbox-memory
   * Home
     
     
     
   * API
   * Changelog
 * catbox-object
   * Home
     
     
     
   * API
   * Changelog
 * catbox-redis
   * Home
     
     
     
   * API
   * Changelog
 * code
   * Home
     
     
     
   * API
   * Changelog
 * content
   * Home
     
     
     
   * API
   * Changelog
 * cookie
   * Home
     
     
     
   * API
   * Changelog
 * crumb
   * Home
     
     
     
   * API
   * Changelog
 * cryptiles
   * Home
     
     
     
   * API
   * Changelog
 * eslint-plugin
   * Home
     
     
     
   * API
   * Changelog
 * file
   * Home
     
     
     
   * API
   * Changelog
 * glue
   * Home
     
     
     
   * API
   * Changelog
 * h2o2
   * Home
     
     
     
   * API
   * Changelog
 * heavy
   * Home
     
     
     
     
   * Changelog
 * hoek
   * Home
     
     
     
   * API
   * Changelog
 * inert
   * Home
     
     
     
   * API
   * Changelog
 * iron
   * Home
     
     
     
   * API
   * Changelog
 * jwt
   * Home
     
     
     
   * API
   * Changelog
 * lab
   * Home
     
     
     
   * API
   * Changelog
 * log
   * Home
     
     
     
   * API
   * Changelog
 * mimos
   * Home
     
     
     
   * API
   * Changelog
 * nes
   * Home
     
     
     
   * API
   * Changelog
 * nigel
   * Home
     
     
     
     
   * Changelog
 * oppsy
   * Home
     
     
     
   * API
   * Changelog
 * pez
   * Home
     
     
     
     
   * Changelog
 * podium
   * Home
     
     
     
   * API
   * Changelog
 * scooter
   * Home
     
     
     
   * API
   * Changelog
 * shot
   * Home
     
     
     
   * API
   * Changelog
 * somever
   * Home
     
     
     
     
   * Changelog
 * statehood
   * Home
     
     
     
     
   * Changelog
 * subtext
   * Home
     
     
     
   * API
   * Changelog
 * teamwork
   * Home
     
     
     
     
   * Changelog
 * topo
   * Home
     
     
     
   * API
   * Changelog
 * vise
   * Home
     
     
     
     
   * Changelog
 * vision
   * Home
     
     
     
   * API
   * Changelog
 * wreck
   * Home
     
     
     
   * API
   * Changelog
 * yar
   * Home
     
     
     
   * API
   * Changelog

The Simple, Secure Framework
Developers Trust
Build powerful, scalable applications, with minimal overhead and full
out-of-the-box functionality - your code, your way
Get started with hapi
Originally developed to handle Walmart’s Black Friday scale,
hapi continues to be the proven choice for enterprise-grade backend needs.
Security | Quality | Developers First
Predictability | Extensibility | Support
"At Brave, developing web services with hapi allows us to focus on the many
problems to be solved, not on the details of the tool being used. hapi provides
the right set of core APIs and extensible plugins to support the requirements of
a modern service - session management, security, connectivity, and testing."
- Brendan Eich
Creator of JavaScript & CEO, Brave



TRUSTED FOR SIMPLICITY, SECURITY, AND SATISFACTION

83% of developers* are concerned with the security of open-source code. You’re
probably among that 83%.
* npm Inc. 2019 Trends in JavaScript report


YOU’VE GOT NOTHING TO WORRY ABOUT WITH HAPI.

When you npm install @hapi/hapi, every single line of code you get has been
verified. You never have to worry about some deep dependency being poorly
maintained (or handed over to someone sketchy). hapi is the only leading node
framework without any external code dependencies. None.


HOW DO WE KEEP HAPI SECURE?

 * End-to-end Code Hygiene — hapi requires the most secure settings to manage,
   control, and distribute code, including 2FA for all contributors.
 * Secure Defaults, Updated Regularly — every hapi component comes with the most
   secure defaults out-of-the-box. Along with protecting server load with
   payload limits and request timeouts, hapi blocks error messages that could
   leak information or echo back exploits.
 * Integrated Authorization and Authentication Architecture — the most
   comprehensive authorization and authentication API available in a Node
   framework.
 * Advanced Features — with encrypted and signed cookies, secret or key
   rotation, and HTTP security headers, there are no excuses for building
   insecure applications.
 * Reliable, Predictable Ownership – when something goes wrong, you know who to
   contact. Security updates are handled under a strict, well-defined protocol.
 * Rich ecosystem – hapi’s extensive set of official plugins means no more
   blindly trusting some middleware you found for critical functionality just
   because it has a high count on npm.
 * In-house Security Expertise – created by Eran Hammer, the author of the OAuth
   specifications and other identity protocols.

"We love hapi’s clear structure. In particular, its plugin system and request
lifecycle - they make it easy for us to separate cross-cutting concerns from our
API business logic. It allows us to add features and fix bugs at a fast pace.
The hapi ecosystem provides a consistent and secure building block to develop
HTTP services at scale."
- Damian Schenkelman
Director of Engineering, Auth0



RECOGNIZED FOR INDUSTRY LEADING QUALITY STANDARDS

hapi has been pushing the envelope on quality from day one. It was the first
node framework to require and achieve 100% code coverage across every dependency
– when everyone thought it was crazy.
When quality and performance are in conflict, most frameworks choose wrongly and
sacrifice quality for performance. It might save them a millisecond, but it will
cost you days. hapi always chooses readability. Machines keep getting faster and
cheaper. Humans only get slower and more expensive.
On practically every measurable quality metric, hapi scores at the very top:
 * Code Readability — if you cannot open the source code of your framework and
   understand how it works, sooner or later you are going to be in trouble.
 * Coverage and Style — 100% code coverage using strict coverage rules and a
   coding style optimized to reduce bugs and increase comprehension – always
   end-to-end.
 * Open Issues — hapi and its official plugins are actively kept with only a
   handful of open issues or pull requests. Few other ecosystems can claim this
   low level of outstanding issues end-to-end across every single dependency.

“With a well-planned interface and selection of patterns, hapi has allowed us to
get started on business logic on day one of each new project, knowing that we
have a solid, yet extendable code base with great test coverage to build off
of.”
- Johnny Megahan
Beats Music



RELIED ON FOR FRICTION-FREE DEVELOPMENT AND INTUITIVE INTERNALS

The question we care most about is, “Are you happy?”
hapi is developer-first — so you can spend your brainpower on the places that
matter.
Every hapi feature is designed to make the platform easier and more intuitive to
use. That means there’s no need to hack things together, experiment to see what
*might* work, or try to figure out hidden internals. There is no “magic” – the
code does what you expect with easy to follow internal logic.
hapi's a clean and easy-to-learn interface doesn’t take up too much space. It is
designed for a small surface area, allowing you to build your applications as
you see fit, using your style and the technologies of your choosing.
And hapi users certainly are. In survey after survey, hapi scores at the very
top for developer satisfaction.
"hapi allows us to develop loosely coupled capabilities in a distributed
development environment. It is easy to test and has excellent documentation.
hapi is the enterprise grade foundation that drives our next generation web
applications."
- Patrick Ritchie
Director of Engineering, Vrbo



KEEPS LARGE DISTRIBUTED TEAMS ON THE SAME PAGE

hapi was designed from the group-up to support large, distributed, and remote
teams – allowing them to effectively work together on common code. No more toe
stepping.


SAY GOODBYE TO MIDDLEWARE HELL

hapi was the first node framework (and in some ways, still the only) to provide
strong guarantees . The order in which parallel or unrelated components are
configured should never produce unexpected results.
 * Plugin dependencies — plugins can safely rely on other plugins, including the
   order in which they must be execute, no matter the order in which you
   register them.
 * Extension priorities — request lifecycle extensions can specify their
   relative order so future extensions won’t disrupt the existing balance.
 * Namespace protection — caches, plugins, decorators, and server methods are
   all protected and cannot be implicitly overridden.
 * Zero routing conflicts — paths will never conflict, and will always result in
   the same priority order — no matter what order they’re added in.

"hapi's extensive plugin system allows us to quickly build, extend, and compose
brand-specific features on top of its rock-solid architecture. It has become our
secret weapon for powerful API services."
- Paul Fryzel
Principal Engineer, Condé Nast



PROVIDES TRUE EXTENSIBILITY AND CUSTOMIZATION,
SAFELY AND PREDICTABLY

hapi comes pretty loaded out-of-the-box, but it also has the most mature and
complete set of extension points at every step — including authentication,
authorization, and validation.


MIDDLEWARE IS JUST ANOTHER NAME FOR BAD DESIGN.

hapi doesn’t use middleware, because it’s a bad pattern. Instead of a generic,
one-size-fits-all approach taken by almost every other framework, hapi provides
a rich, laser-focused extensibility model that puts security and predictability
first.


MAKE IT YOURS.

hapi has always led the way with tools to make the server yours. It was the
first to introduce these (often imitated but poorly executed) features:
 * Framework plugins — a truly composable way of breaking your application into
   logical components with a super-thin abstraction layer.
 * Request lifecycle — the exact order in which “stuff happens,” allowing you to
   choose the specific spot to extend or modify how your application operates.
 * Server methods — reusable, cacheable functions accessible throughout the
   application.
 * API Decorations — user-defined API that lives, safely, side-by-side the
   official API.

Plus, everything is properly namespaced, which makes extensions safe and easy to
use. You’ll never have to worry about your application failing in production
because of a runtime conflict between two extensions or plugins. Everything is
validated in load-time so you can easily identify conflicts during development.
Get started with hapi
 * GitHub
 * Twitter
 * Slack
 * Discord

© 2012 - 2024 Sideway Inc.