1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2005 Novell, Inc.
6 #ifndef SOUP_MESSAGE_HEADERS_H
7 #define SOUP_MESSAGE_HEADERS_H 1
9 #include <libsoup/soup-types.h>
11 typedef struct SoupMessageHeaders SoupMessageHeaders;
12 GType soup_message_headers_get_type (void);
13 #define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
16 SOUP_MESSAGE_HEADERS_REQUEST,
17 SOUP_MESSAGE_HEADERS_RESPONSE,
18 SOUP_MESSAGE_HEADERS_MULTIPART
19 } SoupMessageHeadersType;
21 SoupMessageHeaders *soup_message_headers_new (SoupMessageHeadersType type);
23 void soup_message_headers_free (SoupMessageHeaders *hdrs);
25 void soup_message_headers_append (SoupMessageHeaders *hdrs,
28 void soup_message_headers_replace (SoupMessageHeaders *hdrs,
32 void soup_message_headers_remove (SoupMessageHeaders *hdrs,
34 void soup_message_headers_clear (SoupMessageHeaders *hdrs);
36 void soup_message_headers_clean_connection_headers (SoupMessageHeaders *hdrs);
38 #ifndef LIBSOUP_DISABLE_DEPRECATED
39 const char *soup_message_headers_get (SoupMessageHeaders *hdrs,
42 const char *soup_message_headers_get_one (SoupMessageHeaders *hdrs,
44 const char *soup_message_headers_get_list (SoupMessageHeaders *hdrs,
47 typedef void (*SoupMessageHeadersForeachFunc)(const char *name,
51 void soup_message_headers_foreach (SoupMessageHeaders *hdrs,
52 SoupMessageHeadersForeachFunc func,
58 } SoupMessageHeadersIter;
60 void soup_message_headers_iter_init (SoupMessageHeadersIter *iter,
61 SoupMessageHeaders *hdrs);
62 gboolean soup_message_headers_iter_next (SoupMessageHeadersIter *iter,
66 /* Specific headers */
69 SOUP_ENCODING_UNRECOGNIZED,
71 SOUP_ENCODING_CONTENT_LENGTH,
73 SOUP_ENCODING_CHUNKED,
74 SOUP_ENCODING_BYTERANGES
77 SoupEncoding soup_message_headers_get_encoding (SoupMessageHeaders *hdrs);
78 void soup_message_headers_set_encoding (SoupMessageHeaders *hdrs,
79 SoupEncoding encoding);
81 goffset soup_message_headers_get_content_length (SoupMessageHeaders *hdrs);
82 void soup_message_headers_set_content_length (SoupMessageHeaders *hdrs,
83 goffset content_length);
86 SOUP_EXPECTATION_UNRECOGNIZED = (1 << 0),
87 SOUP_EXPECTATION_CONTINUE = (1 << 1)
90 SoupExpectation soup_message_headers_get_expectations (SoupMessageHeaders *hdrs);
91 void soup_message_headers_set_expectations (SoupMessageHeaders *hdrs,
92 SoupExpectation expectations);
99 gboolean soup_message_headers_get_ranges (SoupMessageHeaders *hdrs,
100 goffset total_length,
103 void soup_message_headers_free_ranges (SoupMessageHeaders *hdrs,
105 void soup_message_headers_set_ranges (SoupMessageHeaders *hdrs,
108 void soup_message_headers_set_range (SoupMessageHeaders *hdrs,
112 gboolean soup_message_headers_get_content_range (SoupMessageHeaders *hdrs,
115 goffset *total_length);
116 void soup_message_headers_set_content_range (SoupMessageHeaders *hdrs,
119 goffset total_length);
122 const char *soup_message_headers_get_content_type (SoupMessageHeaders *hdrs,
123 GHashTable **params);
124 void soup_message_headers_set_content_type (SoupMessageHeaders *hdrs,
125 const char *content_type,
128 gboolean soup_message_headers_get_content_disposition (SoupMessageHeaders *hdrs,
130 GHashTable **params);
131 void soup_message_headers_set_content_disposition (SoupMessageHeaders *hdrs,
132 const char *disposition,
135 #endif /* SOUP_MESSAGE_HEADERS_H */