• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ilpanich / axiam-php-sdk / 29638216150
89%

Build:
DEFAULT BRANCH: main
Ran 18 Jul 2026 08:53AM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Jul 2026 08:53AM UTC coverage: 90.11% (-0.05%) from 90.158%
29638216150

push

github

web-flow
feat(tls): add client-certificate mTLS support (CONTRACT §6.1) (#7)

Add optional mutual-TLS client identity to AxiamClient via two new PEM-string
constructor params, clientCert and clientKey, applied to BOTH transports:

- REST: written to short-lived 0600 temp files and set as Guzzle cert/ssl_key
  on both the plain and authz clients, alongside (never replacing) verify —
  server verification is untouched (§6.1.2).
- gRPC: threaded through AuthzDispatcher to AuthzGrpcClient, passed to
  \Grpc\ChannelCredentials::createSsl(rootCerts, privateKey, certChain) behind
  the existing extension_loaded('grpc') guard.

The two params are all-or-nothing and PEM-only (§6.1.1): supplying exactly one,
or a non-PEM value, throws InvalidArgumentException at construction. The private
key is secret material (§7) — held behind Sensitive, never logged/exposed, and
its temp file is chmod 0600 and removed in __destruct. Adds a debugClientCertOptions()
test seam mirroring debugVerifyOption(), a ClientCertificateMtlsTest (runtime-generated
throwaway PKI, nothing committed), README mTLS section, CHANGELOG entry, and updates
the grpc stub's createSsl arity for PHPStan level 6.


Claude-Session: https://claude.ai/code/session_01FM1xTLBaGvfUv8X3bPw6oj

Co-authored-by: Claude <noreply@anthropic.com>

43 of 48 new or added lines in 3 files covered. (89.58%)

1 existing line in 1 file now uncovered.

1066 of 1183 relevant lines covered (90.11%)

12.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
93.68
-0.21% src/AxiamClient.php
2
19.61
-0.8% src/AuthzDispatcher.php

Coverage Regressions

Lines Coverage ∆ File
1
19.61
-0.8% src/AuthzDispatcher.php
Jobs
ID Job ID Ran Files Coverage
1 29638216150.1 18 Jul 2026 08:53AM UTC 37
90.11
GitHub Action Run
Source Files on build 29638216150
  • Tree
  • List 37
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29638216150
  • 8259a618 on github
  • Prev Build on main (#29530519770)
  • Next Build on main (#29653763545)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc