jonnybarnes.uk/app/Services/Micropub
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonny Barnes 3dce7d3a60
Add Micropub q=source and reject malformed requests
Servers supporting updates must support the source content query. It
was falling through to the token response, so clients got a 200 with no
post in it. Return the raw note as microformats2 JSON, honouring
properties[].

Malformed requests could cause a 500 or worse. A replace value sent as a
string overwrote the note with its first character, because $value[0]
indexes the string. Validate update operations before applying any of
them, and return invalid_request for wrongly shaped properties, unknown
or malformed q values, and missing update URLs.

Share URL resolution between updates and q=source in NoteResolver, which
also rejects URLs on other hosts and invalid note IDs. Those IDs used to
decode to a real note because invalid characters were skipped.

Allow photo objects without alt text, and parse the published date
before saving so that an invalid date doesn't leave a stray note behind.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:59:23 +00:00
..
Data Bring Micropub endpoint closer to the spec 2026-11-02 18:45:39 +00:00
Handlers Add Micropub q=source and reject malformed requests 2026-11-02 18:59:23 +00:00
MicropubHandlerRegistry.php Bring Micropub endpoint closer to the spec 2026-11-02 18:45:39 +00:00
NoteResolver.php Add Micropub q=source and reject malformed requests 2026-11-02 18:59:23 +00:00
NoteSource.php Add Micropub q=source and reject malformed requests 2026-11-02 18:59:23 +00:00