PAGI 0.001007 Latest
Files
- Changes
- LICENSE
- MANIFEST
- META.json
- META.yml
- Makefile.PL
- README
- README.md
- bin/pagi-server
- cpanfile
- dist.ini
- docs/extensions.mkdn
- docs/implementations.mkdn
- docs/index.mkdn
- docs/introduction.mkdn
- docs/specs/index.mkdn
- docs/specs/lifespan.mkdn
- docs/specs/main.mkdn
- docs/specs/tls.mkdn
- docs/specs/www.mkdn
- examples/01-hello-http/README.md
- examples/01-hello-http/app.pl
- examples/02-streaming-response/README.md
- examples/02-streaming-response/app.pl
- examples/03-request-body/README.md
- examples/03-request-body/app.pl
- examples/04-websocket-echo/README.md
- examples/04-websocket-echo/app.pl
- examples/05-sse-broadcaster/README.md
- examples/05-sse-broadcaster/app.pl
- examples/06-lifespan-state/README.md
- examples/06-lifespan-state/app.pl
- examples/07-extension-fullflush/README.md
- examples/07-extension-fullflush/app.pl
- examples/08-tls-introspection/README.md
- examples/08-tls-introspection/app.pl
- examples/09-psgi-bridge/README.md
- examples/09-psgi-bridge/app.pl
- examples/10-chat-showcase/README.md
- examples/10-chat-showcase/app.pl
- examples/10-chat-showcase/lib/ChatApp/HTTP.pm
- examples/10-chat-showcase/lib/ChatApp/SSE.pm
- examples/10-chat-showcase/lib/ChatApp/State.pm
- examples/10-chat-showcase/lib/ChatApp/WebSocket.pm
- examples/10-chat-showcase/public/css/style.css
- examples/10-chat-showcase/public/index.html
- examples/10-chat-showcase/public/js/app.js
- examples/11-job-runner/README.md
- examples/11-job-runner/app.pl
- examples/11-job-runner/lib/JobRunner/HTTP.pm
- examples/11-job-runner/lib/JobRunner/Jobs.pm
- examples/11-job-runner/lib/JobRunner/Queue.pm
- examples/11-job-runner/lib/JobRunner/SSE.pm
- examples/11-job-runner/lib/JobRunner/WebSocket.pm
- examples/11-job-runner/lib/JobRunner/Worker.pm
- examples/11-job-runner/public/css/style.css
- examples/11-job-runner/public/index.html
- examples/11-job-runner/public/js/app.js
- examples/12-utf8/README.md
- examples/12-utf8/app.pl
- examples/13-contact-form/README.md
- examples/13-contact-form/app.pl
- examples/13-contact-form/public/index.html
- examples/README.md
- examples/app-01-file/README.md
- examples/app-01-file/app.pl
- examples/app-01-file/static/data.json
- examples/app-01-file/static/index.html
- examples/app-01-file/static/style.css
- examples/app-01-file/static/subdir/nested.txt
- examples/app-01-file/static/test.txt
- examples/background-tasks/README.md
- examples/background-tasks/app.pl
- examples/endpoint-demo/README.md
- examples/endpoint-demo/app.pl
- examples/endpoint-demo/public/index.html
- examples/endpoint-router-demo/README.md
- examples/endpoint-router-demo/app.pl
- examples/endpoint-router-demo/lib/MyApp/API.pm
- examples/endpoint-router-demo/lib/MyApp/Main.pm
- examples/endpoint-router-demo/public/index.html
- examples/sse-dashboard/README.md
- examples/sse-dashboard/app.pl
- examples/sse-dashboard/public/index.html
- examples/websocket-chat-v2/README.md
- examples/websocket-chat-v2/app.pl
- examples/websocket-chat-v2/lib/ChatApp/HTTP.pm
- examples/websocket-chat-v2/lib/ChatApp/SSE.pm
- examples/websocket-chat-v2/lib/ChatApp/State.pm
- examples/websocket-chat-v2/lib/ChatApp/WebSocket.pm
- examples/websocket-echo-v2/README.md
- examples/websocket-echo-v2/app.pl
- lib/PAGI.pm
- lib/PAGI/App/Cascade.pm
- lib/PAGI/App/Delayed.pm
- lib/PAGI/App/Directory.pm
- lib/PAGI/App/File.pm
- lib/PAGI/App/Healthcheck.pm
- lib/PAGI/App/Loader.pm
- lib/PAGI/App/NotFound.pm
- lib/PAGI/App/Proxy.pm
- lib/PAGI/App/Redirect.pm
- lib/PAGI/App/Router.pm
- lib/PAGI/App/SSE/Pubsub.pm
- lib/PAGI/App/SSE/Stream.pm
- lib/PAGI/App/Throttle.pm
- lib/PAGI/App/URLMap.pm
- lib/PAGI/App/WebSocket/Broadcast.pm
- lib/PAGI/App/WebSocket/Chat.pm
- lib/PAGI/App/WebSocket/Echo.pm
- lib/PAGI/App/WrapCGI.pm
- lib/PAGI/App/WrapPSGI.pm
- lib/PAGI/Endpoint/HTTP.pm
- lib/PAGI/Endpoint/Router.pm
- lib/PAGI/Endpoint/SSE.pm
- lib/PAGI/Endpoint/WebSocket.pm
- lib/PAGI/Lifespan.pm
- lib/PAGI/Middleware.pm
- lib/PAGI/Middleware/AccessLog.pm
- lib/PAGI/Middleware/Auth/Basic.pm
- lib/PAGI/Middleware/Auth/Bearer.pm
- lib/PAGI/Middleware/Builder.pm
- lib/PAGI/Middleware/CORS.pm
- lib/PAGI/Middleware/CSRF.pm
- lib/PAGI/Middleware/ConditionalGet.pm
- lib/PAGI/Middleware/ContentLength.pm
- lib/PAGI/Middleware/ContentNegotiation.pm
- lib/PAGI/Middleware/Cookie.pm
- lib/PAGI/Middleware/Debug.pm
- lib/PAGI/Middleware/ETag.pm
- lib/PAGI/Middleware/ErrorHandler.pm
- lib/PAGI/Middleware/FormBody.pm
- lib/PAGI/Middleware/GZip.pm
- lib/PAGI/Middleware/HTTPSRedirect.pm
- lib/PAGI/Middleware/Head.pm
- lib/PAGI/Middleware/Healthcheck.pm
- lib/PAGI/Middleware/JSONBody.pm
- lib/PAGI/Middleware/Lint.pm
- lib/PAGI/Middleware/Maintenance.pm
- lib/PAGI/Middleware/MethodOverride.pm
- lib/PAGI/Middleware/RateLimit.pm
- lib/PAGI/Middleware/RequestId.pm
- lib/PAGI/Middleware/ReverseProxy.pm
- lib/PAGI/Middleware/Rewrite.pm
- lib/PAGI/Middleware/Runtime.pm
- lib/PAGI/Middleware/SSE/Heartbeat.pm
- lib/PAGI/Middleware/SSE/Retry.pm
- lib/PAGI/Middleware/SecurityHeaders.pm
- lib/PAGI/Middleware/Session.pm
- lib/PAGI/Middleware/Static.pm
- lib/PAGI/Middleware/Timeout.pm
- lib/PAGI/Middleware/TrustedHosts.pm
- lib/PAGI/Middleware/WebSocket/Compression.pm
- lib/PAGI/Middleware/WebSocket/Heartbeat.pm
- lib/PAGI/Middleware/WebSocket/RateLimit.pm
- lib/PAGI/Request.pm
- lib/PAGI/Request/BodyStream.pm
- lib/PAGI/Request/MultiPartHandler.pm
- lib/PAGI/Request/Negotiate.pm
- lib/PAGI/Request/Upload.pm
- lib/PAGI/Response.pm
- lib/PAGI/Runner.pm
- lib/PAGI/SSE.pm
- lib/PAGI/Server.pm
- lib/PAGI/Server/Compliance.pod
- lib/PAGI/Server/Connection.pm
- lib/PAGI/Server/Protocol/HTTP1.pm
- lib/PAGI/Spec.pod
- lib/PAGI/Spec/Lifespan.pod
- lib/PAGI/Spec/Tls.pod
- lib/PAGI/Spec/Www.pod
- lib/PAGI/Test/Client.pm
- lib/PAGI/Test/Response.pm
- lib/PAGI/Test/SSE.pm
- lib/PAGI/Test/WebSocket.pm
- lib/PAGI/Tutorial.pod
- lib/PAGI/Util/AsyncFile.pm
- lib/PAGI/WebSocket.pm
- t/00-load.t
- t/01-hello-http.t
- t/02-streaming.t
- t/03-request-body.t
- t/04-websocket.t
- t/05-sse.t
- t/06-lifespan.t
- t/07-extensions.t
- t/08-tls.t
- t/09-psgi-bridge.t
- t/10-http-compliance.t
- t/11-multiworker.t
- t/12-fork-loop-isolation.t
- t/13-multiworker-signal.t
- t/14-websocket-invalid-utf8.t
- t/15-crlf-injection.t
- t/16-chunked-validation.t
- t/17-worker-respawn-loop.t
- t/18-graceful-shutdown.t
- t/19-receive-queue-limit.t
- t/20-callback-exception.t
- t/21-quick-wins.t
- t/22-content-length-keepalive.t
- t/23-connection-cleanup.t
- t/24-security-headers.t
- t/25-runner-production.t
- t/26-max-requests.t
- t/40-connection-limiting.t
- t/41-connection-limiting-stress.t
- t/42-file-response.t
- t/app-file.t
- t/app-router.t
- t/app/01-static-files.t
- t/app/02-routing.t
- t/app/03-router.t
- t/app/04-utilities.t
- t/app/05-websocket.t
- t/app/06-sse.t
- t/certs/ca.crt
- t/certs/ca.key
- t/certs/ca.srl
- t/certs/client.crt
- t/certs/client.csr
- t/certs/client.key
- t/certs/server.crt
- t/certs/server.key
- t/endpoint-router.t
- t/endpoint/01-http-constructor.t
- t/endpoint/02-http-dispatch.t
- t/endpoint/03-http-to-app.t
- t/endpoint/04-http-options.t
- t/endpoint/05-websocket-constructor.t
- t/endpoint/06-websocket-lifecycle.t
- t/endpoint/07-websocket-to-app.t
- t/endpoint/08-sse-constructor.t
- t/endpoint/09-sse-lifecycle.t
- t/endpoint/10-integration.t
- t/integration-endpoint-router-demo.t
- t/lib/Test/PAGI/Server.pm
- t/lifespan.t
- t/middleware/00-base.t
- t/middleware/01-content-length.t
- t/middleware/02-head.t
- t/middleware/03-error-handler.t
- t/middleware/04-static.t
- t/middleware/05-logging.t
- t/middleware/06-security.t
- t/middleware/07-compression.t
- t/middleware/08-flow-control.t
- t/middleware/09-body-parsing.t
- t/middleware/10-session-auth.t
- t/middleware/11-url-handling.t
- t/middleware/12-protocol-specific.t
- t/middleware/13-development.t
- t/middleware/14-websocket-advanced.t
- t/multipart-limits.t
- t/request-body-stream.t
- t/request-negotiate.t
- t/request-stash.t
- t/request-state.t
- t/request/01-basic.t
- t/request/02-query-params.t
- t/request/03-cookies.t
- t/request/04-predicates.t
- t/request/05-auth.t
- t/request/06-stash.t
- t/request/07-params.t
- t/request/08-body.t
- t/request/09-form.t
- t/request/10-upload-class.t
- t/request/11-multipart-handler.t
- t/request/12-uploads.t
- t/request/13-config.t
- t/request/14-integration.t
- t/response-convenience.t
- t/response-integration.t
- t/response.t
- t/router-middleware.t
- t/runner.t
- t/sse-router-support.t
- t/sse-state.t
- t/sse/01-constructor.t
- t/sse/02-state.t
- t/sse/03-start.t
- t/sse/04-send.t
- t/sse/05-safe-send.t
- t/sse/06-lifecycle.t
- t/sse/07-last-event-id.t
- t/sse/08-keepalive.t
- t/sse/09-iteration.t
- t/sse/10-integration.t
- t/static_test_files/app.js
- t/static_test_files/hello.txt
- t/static_test_files/index.html
- t/static_test_files/style.css
- t/static_test_files/subdir/file.txt
- t/test-client/01-response.t
- t/test-client/02-client-http.t
- t/test-client/03-websocket.t
- t/test-client/04-sse.t
- t/test-client/05-lifespan.t
- t/test-client/06-integration.t
- t/tls-optional.t
- t/utf8/01-raw-utf8.t
- t/util/01-async-file.t
- t/websocket-heartbeat.t
- t/websocket-state.t
- t/websocket/01-constructor.t
- t/websocket/02-state.t
- t/websocket/03-lifecycle.t
- t/websocket/04-send.t
- t/websocket/05-safe-send.t
- t/websocket/06-receive.t
- t/websocket/07-iteration.t
- t/websocket/08-cleanup.t
- t/websocket/09-timeout.t
- t/websocket/10-integration.t
- t/websocket/11-stash-and-callbacks.t