#1109615 ITP: php-ralouphie-getallheaders -- PHP getallheaders() polyfill for cross-platform compatibility

Package:
wnpp
Source:
wnpp
Submitter:
Ahmed Gamal
Date:
2025-08-10 18:29:02 UTC
Severity:
normal
Tags:
#1109615#5
Date:
2025-07-20 21:00:36 UTC
From:
To:
* Package name    : php-ralouphie-getallheaders
  Version         : 3.0.0
  Upstream Author : Ralph Khattar <ralph.khattar@gmail.com>
* URL             : https://github.com/ralouphie/getallheaders
* License         : MIT
  Programming Lang: PHP
  Section         : php

Description:
 PHP getallheaders() polyfill for cross-platform compatibility

 This package provides a polyfill for the PHP `getallheaders()` function,
 ensuring compatibility across different PHP environments and web servers.
 The `getallheaders()` function is not available on all PHP installations,
 particularly on some web servers, and this polyfill provides a consistent
 implementation.

 The polyfill is compatible with PHP >= 5.6 and provides the same interface
 as the native `getallheaders()` function, making it easy to use in
 applications that need to access HTTP headers in a cross-platform manner.

Rationale:
 This package is required as a dependency for FOSSology, an open source
license
 compliance system. FOSSology uses PHP-based tools for source code analysis
and
 license detection, which need to access HTTP headers in a consistent way
across
 different deployment environments.

 The getallheaders() polyfill is essential for:
 - Web-based tools in FOSSology that need to access HTTP headers
 - Cross-platform compatibility when deploying FOSSology on different
servers
 - Ensuring consistent behavior regardless of the underlying web server
 - Supporting applications that rely on HTTP header access for functionality

Technical Details:
 - Requires PHP >= 5.6
 - Provides a single function: getallheaders()
 - Uses file-based autoloading (src/getallheaders.php)
 - No runtime dependencies
 - Comprehensive test suite included
 - MIT licensed for maximum compatibility

Dependencies:
 - php (>= 5.6)
 - Build dependencies: phpunit (for testing)

The package will be maintained by Ahmed Gamal <ahmed.gamal9541@gmail.com>
as part
of the FOSSology packaging effort.

#1109615#12
Date:
2025-08-10 13:45:06 UTC
From:
To:
Please do some research before opening ITP/RFP bugs.
This package already exists in Debian.

#1109615#17
Date:
2025-08-10 22:19:46 UTC
From:
To:
Dear William,

I need to clarify the version-specific requirement that led to this ITP
filing.

VERSION DEPENDENCY REQUIREMENT:
FOSSology requires php-ralouphie-getallheaders version 3.0.0 as part of its
HTTP dependency chain compatibility with Slim Framework 3.x and PSR-7
components.

HTTP STACK INTEGRATION:
This polyfill is a critical component in FOSSology's HTTP infrastructure:
- FOSSology uses Slim Framework 3.12.3
- Slim 3.x requires consistent HTTP header handling via getallheaders()
- FOSSology's web components depend on this specific polyfill version
- Version 3.0.0 provides compatibility with FOSSology's PSR-7 HTTP stack

TECHNICAL COMPATIBILITY:
The getallheaders polyfill version 3.0.0:
- Integrates properly with Slim 3.x HTTP message handling
- Provides consistent header access across FOSSology's web environments
- Maintains compatibility with FOSSology's PSR-7 HTTP interfaces
- Works correctly with FOSSology's existing HTTP request/response processing

DEPENDENCY CHAIN CONSISTENCY:
This package ensures FOSSology's complete HTTP stack works together:
- Slim Framework 3.12.3
- PSR-HTTP-Message 1.0.1
- PSR-HTTP-Factory 1.0.1
- Getallheaders polyfill 3.0.0

All components must be version-consistent for FOSSology's web functionality.

EVIDENCE FROM INTEGRATION:
FOSSology's composer dependencies specifically require this version to
ensure proper HTTP header handling in its web components and APIs.

PROPOSED SOLUTION:
Package as php-ralouphie-getallheaders-3.0 to provide the version
FOSSology's HTTP stack requires, following Debian's approach for
dependency-specific versions.

REQUEST:
Please reopen to discuss providing this specific version for FOSSology's
HTTP infrastructure compatibility.

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team

#1109615#22
Date:
2025-08-10 22:25:19 UTC
From:
To:
Dear William,

I need to reopen this ITP due to HTTP dependency chain requirements for
FOSSology's web infrastructure.

HTTP STACK DEPENDENCY:
FOSSology requires php-ralouphie-getallheaders version 3.0.0 as part of its
Slim Framework 3.x HTTP dependency chain for consistent header handling.

TECHNICAL INTEGRATION:
- FOSSology uses Slim Framework 3.12.3 for web components
- Slim 3.x requires consistent HTTP header access via getallheaders()
- FOSSology's web/API components depend on this specific polyfill version
- Version 3.0.0 provides compatibility with FOSSology's PSR-7 HTTP stack

HTTP DEPENDENCY CONSISTENCY:
This polyfill completes FOSSology's HTTP infrastructure:
- Slim Framework 3.12.3
- PSR-HTTP-Message 1.0.1
- PSR-HTTP-Factory 1.0.1
- Getallheaders polyfill 3.0.0

All components must be version-consistent for proper HTTP handling.

EVIDENCE FROM INTEGRATION:
FOSSology's composer dependencies specify this version to ensure:
- Consistent HTTP header access across web environments
- Compatibility with Slim 3.x HTTP message handling
- Stable web component and API functionality

PROPOSED SOLUTION:
Package as php-ralouphie-getallheaders-3.0 to support FOSSology's HTTP
stack requirements alongside current Debian versions.

JUSTIFICATION:
This maintains FOSSology's complete HTTP infrastructure without forcing
architectural changes requiring extensive upstream development.

REQUEST:
Please reopen to discuss providing getallheaders polyfill 3.0.0 for
FOSSology's HTTP stack compatibility.

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team