Responding to cURL with a JSON Resumé 📚
Over the past couple of months I’ve received numerous messages asking me how I’ve made this website respond to cURL requests with JSON (a little like JSON Resumé). If you’re out of the loop, you can either curl hugo.md or check out this GIF:

It’s super simple to setup — I’ve done it with nginx and with Caddy. All it does is:
- Check the user agent on incoming requests to the root site (
example.site/) - If the user agent is cURL, respond with a JSON file
With nginx:
server {
listen 80;
server_name example.site;
root /home/you/www;
location / {
if ($http_user_agent ~* ^curl) {
rewrite ^/$ "/path/to/about.json";
break;
}
}
}With Caddy, it’s even easier:
example.site {
root /home/you/www
rewrite {
if {>User-Agent} has curl
if {path} is /
to /path/to/about.json
}
}Thought this was neat? Tweet me!
If you liked this post, you’ll probably enjoy one of my other projects, parrot.live 🐦 Try curl parrot.live to see it in action!
On the web
PenPals
Wed Dec 6 2023 by Kev QuirkProject Hail Mary
Mon Dec 4 2023 by Joelchrono’s BlogRendering Counter-Strike Demos in the Browser
Mon Nov 20 2023 by Andrew Healey's BlogWhy you should use spatie/laravel-data to store "settings" in your Laravel app
Sun Oct 29 2023 by stefanzweifel.dev007. University or Kindergarten 🧒
Mon Sep 25 2023 by Milly Wrote it
Generated by openring