Insert key and value in the group table, not the main table.
[cascardo/atompub.git] / atom / core.c
index b2289b4..86803a3 100644 (file)
@@ -53,7 +53,14 @@ atom_post (AtomCtx *ctx, AtomRequest *request)
 {
   AtomError *error;
   /* Publish requests go to the same IRI as the feed IRI */
-  if (!atom_is_feed (ctx, atom_request_request (request)))
+  char *content = NULL;
+  size_t len = 0;
+  AtomEntry *entry;
+  atom_request_content (request, &content, &len);
+  /* TODO: If the content is not an Atom Entry, consider it a media
+   * publish request */
+  entry = atom_entry_new_data_len (content, len);
+  if (entry == NULL)
     {
       error = atom_error_new ();
       atom_error_code_set (error, 400);
@@ -62,28 +69,11 @@ atom_post (AtomCtx *ctx, AtomRequest *request)
     }
   else
     {
-      char *content = NULL;
-      size_t len = 0;
-      AtomEntry *entry;
-      atom_request_content (request, &content, &len);
-      /* TODO: If the content is not an Atom Entry, consider it a media
-       * publish request */
-      entry = atom_entry_new_data_len (content, len);
-      if (entry == NULL)
-        {
-          error = atom_error_new ();
-          atom_error_code_set (error, 400);
-          atom_error_message_set (error, "Bad Request");
-          atom_error_set (ctx, error);
-        }
-      else
-        {
-          atom_publish_entry (ctx, atom_request_request (request), entry);
-          /* TODO: Entry should be the backend representation and more
-           * information should be given to the frontend */
-          if (!atom_error_get (ctx))
-            atom_handle_publish (ctx, entry);
-        }
+      atom_publish_entry (ctx, atom_request_request (request), entry);
+      /* TODO: Entry should be the backend representation and more
+       * information should be given to the frontend */
+      if (!atom_error_get (ctx))
+        atom_handle_publish (ctx, entry);
     }
 }