The following headers are the "public" API of Rack.
Directly including Rack headers other than rack.hpp in your plugin is unsupported/unstable, since filenames and locations of symbols may change in any Rack version.
*/
#ifdef PRIVATE
#warning "Plugins must only include rack.hpp. Including other Rack headers is unsupported."
#endif
/** Functions with the PRIVATE attribute should not be called by plugins.
*/
#ifdef __clang__
#define PRIVATE __attribute__((deprecated("Using internal Rack function or symbol")))
#else
#define PRIVATE __attribute__((error("Using internal Rack function or symbol")))