Skip to content

[Deprecation] Legacy Puppet::Network HTTP APIs #341

@silug

Description

@silug

Summary

Multiple legacy HTTP APIs are marked deprecated in favor of Puppet.runtime[:http] and modern HTTP client paths.

Evidence

  • lib/puppet/network/http_pool.rb:10 deprecates module in favor of Puppet::HTTP::Client.
  • lib/puppet/network/http_pool.rb:31 and lib/puppet/network/http_pool.rb:55 deprecate http_instance and connection.
  • lib/puppet/network/http_pool.rb:35 and lib/puppet/network/http_pool.rb:59 emit runtime deprecation warnings.
  • lib/puppet/network/http/connection.rb:18 marks class deprecated in favor of Puppet.runtime[:http].
  • lib/puppet/network/http/handler.rb:43 marks format_to_mime deprecated.

Proposed OpenVox 9 Change

  • Remove Puppet::Network::HttpPool API surface.
  • Remove deprecated Puppet::Network::HTTP::Connection compatibility class.
  • Remove deprecated format_to_mime helper from HTTP handler.

Compatibility / Risk

  • High plugin ecosystem risk if external code depends on legacy classes.
  • Core can migrate with controlled internal refactors.

Implementation Notes

  • Inventory internal call sites before deletion.
  • Consider short transition shim with hard failure message if external adoption risk is high.
  • Ensure all transport code uses modern HTTP abstractions consistently.

Acceptance Criteria

  • Legacy HTTP pool/connection APIs removed from core.
  • No deprecation warnings for these APIs remain (because APIs are gone).
  • All network-related tests pass using modern client paths.

Suggested Tests

  • Unit/integration coverage for catalog/file/report HTTP operations via modern APIs.
  • Negative tests for removed constants/methods if compatibility policy requires explicit failure text.

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprecationThis issue pertains to an item/topic which has been deprecated.

    Type

    No type

    Projects

    Status

    Deprecated

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions