Add GET endpoint support, response caching, and update landing page
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 9m11s
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 9m11s
- Add GET /v1/screenshot endpoint with query parameter support - Support API key authentication via ?key= query parameter - Implement in-memory LRU cache with configurable TTL (5min) and size limits (100MB) - Add X-Cache headers (HIT/MISS) to indicate cache status - Add cache bypass option via ?cache=false parameter - Update OpenAPI documentation with GET endpoint and caching info - Add GET/Embed code examples to landing page hero section - Add Response Caching and GET Request Support feature cards - Update features grid layout to accommodate new features
This commit is contained in:
parent
609e7d0808
commit
44e31e355c
5 changed files with 433 additions and 18 deletions
|
|
@ -85,7 +85,7 @@ nav{position:sticky;top:0;z-index:100;background:rgba(10,14,23,0.85);backdrop-fi
|
|||
.stat:last-child{border-right:none}
|
||||
.stat .number{font-size:2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
|
||||
.stat .label{font-size:.82rem;color:var(--muted);margin-top:4px;font-weight:500}
|
||||
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
|
||||
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
|
||||
.feature-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 28px;transition:all .3s}
|
||||
.feature-card:hover{border-color:var(--border-light);background:var(--card-hover);transform:translateY(-2px)}
|
||||
.feature-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px}
|
||||
|
|
@ -270,6 +270,7 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
|
|||
<div class="code-dot"></div><div class="code-dot"></div><div class="code-dot"></div>
|
||||
<div class="code-tabs">
|
||||
<button class="code-tab active" onclick="switchCodeTab(this, 'code-curl')">cURL</button>
|
||||
<button class="code-tab" onclick="switchCodeTab(this, 'code-get')">GET/Embed</button>
|
||||
<button class="code-tab" onclick="switchCodeTab(this, 'code-node')">Node.js</button>
|
||||
<button class="code-tab" onclick="switchCodeTab(this, 'code-python')">Python</button>
|
||||
</div>
|
||||
|
|
@ -282,6 +283,19 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
|
|||
<span class="flag">-H</span> <span class="str">"Content-Type: application/json"</span> \
|
||||
<span class="flag">-d</span> <span class="str">'{"url":"https://example.com","format":"png"}'</span> \
|
||||
<span class="flag">-o</span> <span class="str">screenshot.png</span>
|
||||
</div>
|
||||
<div class="code-body" id="code-get" style="display:none">
|
||||
<span class="cmt"># GET request with query parameters</span>
|
||||
<span class="kw">curl</span> <span class="url">"https://snapapi.eu/v1/screenshot?url=https://example.com&key=YOUR_API_KEY&format=png&width=1920"</span>
|
||||
|
||||
<span class="cmt"># Direct image embedding in HTML</span>
|
||||
<<span class="kw">img</span> <span class="prop">src</span>=<span class="str">"https://snapapi.eu/v1/screenshot?url=https://example.com&key=YOUR_API_KEY"</span>
|
||||
<span class="prop">alt</span>=<span class="str">"Screenshot of example.com"</span>>
|
||||
|
||||
<span class="cmt"># Cached responses (5-min TTL)</span>
|
||||
<span class="kw">curl</span> <span class="url">"https://snapapi.eu/v1/screenshot?url=https://example.com&key=YOUR_API_KEY"</span>
|
||||
<span class="cmt"># First request: X-Cache: MISS</span>
|
||||
<span class="cmt"># Next 5 minutes: X-Cache: HIT</span>
|
||||
</div>
|
||||
<div class="code-body" id="code-node" style="display:none">
|
||||
<span class="cmt">// npm install snapapi</span>
|
||||
|
|
@ -448,6 +462,16 @@ screenshot = snap.<span class="fn">capture</span>(
|
|||
<h3>Wait for Elements</h3>
|
||||
<p>Use CSS selectors to wait for specific elements before capturing. Ideal for SPAs and dynamic content.</p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon purple">⚡</div>
|
||||
<h3>Response Caching</h3>
|
||||
<p>Automatic 5-minute caching for repeat requests. Faster responses and reduced server load. Bypass with cache=false.</p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon orange">🔗</div>
|
||||
<h3>GET Request Support</h3>
|
||||
<p>Direct image embedding with GET requests. Perfect for <img> tags and markdown. API key via query parameter.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue