mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-14 13:06:30 +03:00
Engineering: backend-engineering, frontend-engineering, data-engineering, ml-engineering, platform-engineering, qa-methodology Executive: go-to-market, legal-strategy, operational-design, org-design, product-strategy ml-engineering: added missing training-infrastructure.md reference qa-methodology: added test-data-management, performance-testing, security-testing references All frontmatter converted to agent-skills convention. Source: https://github.com/magnus919/hermes-profiles
36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
# API Integration
|
|
|
|
## API Client Design
|
|
|
|
| Layer | Responsibility |
|
|
|-------|---------------|
|
|
| Client instance | Base URL, default headers, timeout, interceptors |
|
|
| Request interceptor | Auth token injection, request logging, request ID |
|
|
| Response interceptor | Token refresh on 401, error normalization, response logging |
|
|
| Service module | Typed API methods per domain, request/response transformation |
|
|
| Hook layer | Data fetching hooks with loading/error/empty states |
|
|
|
|
## Auth Token Flow
|
|
|
|
```
|
|
Login → Store token → Attach to requests → Detect expiry → Refresh → Retry
|
|
↓
|
|
Re-login on refresh failure
|
|
```
|
|
|
|
| Storage location | Pros | Cons |
|
|
|-----------------|------|------|
|
|
| HTTP-only cookie | Secure against XSS | CSRF vulnerability, harder for SPA to read |
|
|
| Memory (variable) | Most secure, not persisted | Lost on page refresh |
|
|
| localStorage | Survives refresh, simple | Accessible by any JS on the page |
|
|
| Session storage | Survives refresh in same tab | Cleared on tab close |
|
|
|
|
## Real-Time Updates
|
|
|
|
| Protocol | When to use | Connection management |
|
|
|----------|-------------|---------------------|
|
|
| WebSocket | Bidirectional, low-latency | Reconnect with backoff, heartbeat, fallback to polling |
|
|
| SSE (Server-Sent Events) | Server-to-client only, simpler than WebSocket | Automatic reconnection, event ID for resume |
|
|
| Short polling | Simple, no server push support | Fixed interval, wasteful when idle |
|
|
| Long polling | When WebSocket/SSE unavailable | Persistent connection, complex timeout handling |
|