- clients/README.md: canonical API surface and error type reference - clients/testdata/: shared JSON response fixtures - clients/go/: mciasgoclient package; net/http + TLS 1.2+; sync.RWMutex token state; DisallowUnknownFields on all decoders; 25 tests pass - clients/rust/: async mcias-client crate; reqwest+rustls (no OpenSSL); thiserror MciasError enum; Arc<RwLock> token state; 22+1 tests pass; cargo clippy -D warnings clean - clients/lisp/: ASDF mcias-client; dexador HTTP, yason JSON; mcias-error condition hierarchy; Hunchentoot mock-dispatcher; 37 fiveam checks pass on SBCL 2.6.1; yason boolean normalisation in validate-token - clients/python/: mcias_client package (Python 3.11+); httpx sync; py.typed; dataclasses; 32 pytest tests; mypy --strict + ruff clean - test/mock/mockserver.go: in-memory mock server for Go client tests - ARCHITECTURE.md §19: updated per-language notes to match implementation - PROGRESS.md: Phase 9 marked complete - .gitignore: exclude clients/rust/target/, python .venv, .pytest_cache, .fasl files Security: token never logged or exposed in error messages in any library; TLS enforced in all four languages; token stored under lock/mutex/RwLock
1 line
2.6 KiB
JSON
1 line
2.6 KiB
JSON
{"rustc":16243257175721966122,"features":"[\"__rustls\", \"__rustls-ring\", \"__tls\", \"json\", \"rustls-tls\", \"rustls-tls-webpki-roots\", \"rustls-tls-webpki-roots-no-provider\"]","declared_features":"[\"__rustls\", \"__rustls-ring\", \"__tls\", \"blocking\", \"brotli\", \"charset\", \"cookies\", \"default\", \"default-tls\", \"deflate\", \"gzip\", \"h2\", \"hickory-dns\", \"http2\", \"http3\", \"json\", \"macos-system-configuration\", \"multipart\", \"native-tls\", \"native-tls-alpn\", \"native-tls-vendored\", \"rustls-tls\", \"rustls-tls-manual-roots\", \"rustls-tls-manual-roots-no-provider\", \"rustls-tls-native-roots\", \"rustls-tls-native-roots-no-provider\", \"rustls-tls-no-provider\", \"rustls-tls-webpki-roots\", \"rustls-tls-webpki-roots-no-provider\", \"socks\", \"stream\", \"system-proxy\", \"trust-dns\", \"zstd\"]","target":8885864859914201979,"profile":2383083043656166682,"path":9263881682119011663,"deps":[[302948626015856208,"futures_core",false,16395551869408918501],[784494742817713399,"tower_service",false,12829417956076871532],[1528297757488249563,"url",false,14703091249370520859],[1788832197870803419,"hyper_rustls",false,8918125550995063551],[1991942485830005045,"tokio_rustls",false,3633445748525884666],[2251399859588827949,"pin_project_lite",false,15221541811940566033],[2517136641825875337,"sync_wrapper",false,5320438073667373139],[2620434475832828286,"http",false,9822450932427326627],[3632162862999675140,"tower",false,10066682175421352673],[3870702314125662939,"bytes",false,1322042245192246152],[4160778395972110362,"hyper",false,14952924799129278634],[5071328984507806225,"webpki_roots",false,5210401659918021163],[6803352382179706244,"percent_encoding",false,10389927364073220351],[7228429836347935118,"rustls",false,3986626185391525136],[8434721349366383850,"tower_http",false,14517587990881033136],[10630857666389190470,"log",false,7193662118670127429],[11976082518617474977,"hyper_util",false,7836745156546299717],[13077212702700853852,"base64",false,7455959484339136417],[13298363700532491723,"tokio",false,634726864496810915],[13548984313718623784,"serde",false,16120970927335062175],[13795362694956882968,"serde_json",false,4117845875591086358],[14084095096285906100,"http_body",false,17374140038047555153],[16542808166767769916,"serde_urlencoded",false,10296002559287770359],[16900715236047033623,"http_body_util",false,16449682172584936885],[17894305664988315121,"rustls_pki_types",false,12132946894082361702]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/reqwest-08670021576eb487/dep-lib-reqwest","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} |