1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 2005 Novell, Inc.
*/
#ifndef SOUP_MESSAGE_HEADERS_H
#define SOUP_MESSAGE_HEADERS_H 1
#include <libsoup/soup-types.h>
G_BEGIN_DECLS
typedef struct SoupMessageHeaders SoupMessageHeaders;
GType soup_message_headers_get_type (void);
#define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
typedef enum {
SOUP_MESSAGE_HEADERS_REQUEST,
SOUP_MESSAGE_HEADERS_RESPONSE,
SOUP_MESSAGE_HEADERS_MULTIPART
} SoupMessageHeadersType;
SoupMessageHeaders *soup_message_headers_new (SoupMessageHeadersType type);
void soup_message_headers_free (SoupMessageHeaders *hdrs);
void soup_message_headers_append (SoupMessageHeaders *hdrs,
const char *name,
const char *value);
void soup_message_headers_replace (SoupMessageHeaders *hdrs,
const char *name,
const char *value);
void soup_message_headers_remove (SoupMessageHeaders *hdrs,
const char *name);
void soup_message_headers_clear (SoupMessageHeaders *hdrs);
SOUP_AVAILABLE_IN_2_36
void soup_message_headers_clean_connection_headers (SoupMessageHeaders *hdrs);
#ifndef SOUP_DISABLE_DEPRECATED
SOUP_DEPRECATED_IN_2_28_FOR ("soup_message_headers_get_one or soup_message_headers_get_list")
const char *soup_message_headers_get (SoupMessageHeaders *hdrs,
const char *name);
#endif
SOUP_AVAILABLE_IN_2_28
const char *soup_message_headers_get_one (SoupMessageHeaders *hdrs,
const char *name);
SOUP_AVAILABLE_IN_2_28
const char *soup_message_headers_get_list (SoupMessageHeaders *hdrs,
const char *name);
typedef void (*SoupMessageHeadersForeachFunc)(const char *name,
const char *value,
gpointer user_data);
void soup_message_headers_foreach (SoupMessageHeaders *hdrs,
SoupMessageHeadersForeachFunc func,
gpointer user_data);
typedef struct {
/*< private >*/
gpointer dummy[3];
} SoupMessageHeadersIter;
void soup_message_headers_iter_init (SoupMessageHeadersIter *iter,
SoupMessageHeaders *hdrs);
gboolean soup_message_headers_iter_next (SoupMessageHeadersIter *iter,
const char **name,
const char **value);
/* Specific headers */
typedef enum {
SOUP_ENCODING_UNRECOGNIZED,
SOUP_ENCODING_NONE,
SOUP_ENCODING_CONTENT_LENGTH,
SOUP_ENCODING_EOF,
SOUP_ENCODING_CHUNKED,
SOUP_ENCODING_BYTERANGES
} SoupEncoding;
SoupEncoding soup_message_headers_get_encoding (SoupMessageHeaders *hdrs);
void soup_message_headers_set_encoding (SoupMessageHeaders *hdrs,
SoupEncoding encoding);
goffset soup_message_headers_get_content_length (SoupMessageHeaders *hdrs);
void soup_message_headers_set_content_length (SoupMessageHeaders *hdrs,
goffset content_length);
typedef enum {
SOUP_EXPECTATION_UNRECOGNIZED = (1 << 0),
SOUP_EXPECTATION_CONTINUE = (1 << 1)
} SoupExpectation;
SoupExpectation soup_message_headers_get_expectations (SoupMessageHeaders *hdrs);
void soup_message_headers_set_expectations (SoupMessageHeaders *hdrs,
SoupExpectation expectations);
typedef struct {
goffset start;
goffset end;
} SoupRange;
SOUP_AVAILABLE_IN_2_26
gboolean soup_message_headers_get_ranges (SoupMessageHeaders *hdrs,
goffset total_length,
SoupRange **ranges,
int *length);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_free_ranges (SoupMessageHeaders *hdrs,
SoupRange *ranges);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_set_ranges (SoupMessageHeaders *hdrs,
SoupRange *ranges,
int length);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_set_range (SoupMessageHeaders *hdrs,
goffset start,
goffset end);
SOUP_AVAILABLE_IN_2_26
gboolean soup_message_headers_get_content_range (SoupMessageHeaders *hdrs,
goffset *start,
goffset *end,
goffset *total_length);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_set_content_range (SoupMessageHeaders *hdrs,
goffset start,
goffset end,
goffset total_length);
SOUP_AVAILABLE_IN_2_26
const char *soup_message_headers_get_content_type (SoupMessageHeaders *hdrs,
GHashTable **params);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_set_content_type (SoupMessageHeaders *hdrs,
const char *content_type,
GHashTable *params);
SOUP_AVAILABLE_IN_2_26
gboolean soup_message_headers_get_content_disposition (SoupMessageHeaders *hdrs,
char **disposition,
GHashTable **params);
SOUP_AVAILABLE_IN_2_26
void soup_message_headers_set_content_disposition (SoupMessageHeaders *hdrs,
const char *disposition,
GHashTable *params);
G_END_DECLS
#endif /* SOUP_MESSAGE_HEADERS_H */
|