#include <glib.h>
+#include <string.h>
+
struct _atom_request
{
int type;
char *request;
+ char *content;
+ size_t content_len;
};
AtomRequest *
req = g_slice_new (AtomRequest);
req->type = type;
req->request = g_strdup (request);
+ req->content = NULL;
+ req->content_len = 0;
return req;
}
{
if (req->request)
g_free (req->request);
+ if (req->content)
+ g_free (req->content);
g_slice_free (AtomRequest, req);
}
{
return req->request;
}
+
+void
+atom_request_content_set (AtomRequest *req, char *content, size_t len)
+{
+ if (req->content)
+ g_free (req->content);
+ req->content = g_malloc (len);
+ memcpy (req->content, content, len);
+ req->content_len = len;
+}
+
+void
+atom_request_content (AtomRequest *req, char **content, size_t *len)
+{
+ if (content)
+ *content = req->content;
+ if (len)
+ *len = req->content_len;
+}
enum
{
ATOM_REQUEST_NONE,
- ATOM_REQUEST_GET
+ ATOM_REQUEST_GET,
+ ATOM_REQUEST_POST
};
typedef struct _atom_request AtomRequest;
void atom_request_delete (AtomRequest *);
int atom_request_type (AtomRequest *);
char *atom_request_request (AtomRequest *);
+void atom_request_content_set (AtomRequest *, char *, size_t);
+void atom_request_content (AtomRequest *, char **, size_t *);
#endif