g_free (str);
}
+static void
+cgi_handle_publish (AtomCtx *ctx, AtomEntry *entry)
+{
+ char * str;
+ size_t len;
+ char *req;
+ req = atom_id_to_backend (ctx, atom_entry_id (entry));
+ fprintf (stdout, "Status: 201 Created\n");
+ fprintf (stdout, "Location: %s%s\n", getbaseurl (), req);
+ cgi_write_header ();
+ atom_entry_string (entry, &str, &len);
+ atom_entry_delete (entry);
+ write (1, str, len);
+ g_free (str);
+}
+
static int
cgi_is_feed (AtomCtx *ctx, char *req)
{
atom_frontend_handle_error_set (frontend, cgi_handle_error);
atom_frontend_handle_entry_set (frontend, cgi_handle_entry);
atom_frontend_handle_feed_set (frontend, cgi_handle_feed);
+ atom_frontend_handle_publish_set (frontend, cgi_handle_publish);
return frontend;
}