NAME

WebService::OPNsense::Role::APIPath - Role providing _path helper for URI::Template URL construction

VERSION

version 0.003

DESCRIPTION

Provides a shared _path helper for URI::Template-based URL construction. Consuming classes must provide a _api_path method and consume the WebService::Client role.

This role is consumed by WebService::OPNsense::Role::Crud, WebService::OPNsense::Role::ItemCrud, WebService::OPNsense::Role::Service, WebService::OPNsense::Role::Settings, WebService::OPNsense::Firewall::Role::NAT, WebService::OPNsense::Backup, WebService::OPNsense::IPsec::Tunnel, WebService::OPNsense::OpenVPN::Export, and WebService::OPNsense::Routes.

REQUIRED METHODS

client

my $http_client = $ctrl->client;

Provided by the consuming class via WebService::Client.

_api_path

my $api_path = $ctrl->_api_path;

Returns the base API path string for the controller (e.g. /api/firewall/filter).

PROVIDED METHODS

_path

my $uri = $ctrl->_path( $endpoint, %vars );

Constructs a URI by combining _api_path with $endpoint and expanding any template variables via URI::Template.

# /api/firewall/filter/searchRule
my $uri = $self->_path('searchRule');

# /api/firewall/filter/getRule/123
my $uri = $self->_path('getRule/:id', id => 123);

SEE ALSO

WebService::OPNsense::Role::Crud, WebService::OPNsense::Role::ItemCrud, WebService::OPNsense::Role::Service, WebService::OPNsense::Role::Settings, WebService::OPNsense::Firewall::Role::NAT, WebService::OPNsense::Backup, WebService::OPNsense::IPsec::Tunnel, WebService::OPNsense::OpenVPN::Export, WebService::OPNsense::Routes

AUTHOR

Dean Hamstead <dean@fragfest.com.au>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2026 by Dean Hamstead.

This is free software, licensed under:

The MIT (X11) License