Skip to content

Commit 6041a02

Browse files
committed
logproto-http-server: make options handling conform to the base LogProtoServerOptionsStorage
Signed-off-by: Hofi <hofione@gmail.com>
1 parent 17f3efe commit 6041a02

File tree

2 files changed

+32
-22
lines changed

2 files changed

+32
-22
lines changed

lib/logproto/logproto-http-server.c

+26-16
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,12 @@ _http_request_handler(LogProtoTextServer *s, LogProtoBufferedServerState *state,
9999

100100
void
101101
log_proto_http_server_init(LogProtoHTTPServer *self, LogTransport *transport,
102-
const LogProtoHTTPServerOptionsStorage *options)
102+
const LogProtoServerOptionsStorage *options)
103103
{
104-
log_proto_text_multiline_server_init((LogProtoTextServer *)self, transport, &options->storage);
105-
self->options = options;
104+
log_proto_text_multiline_server_init((LogProtoTextServer *)self, transport, options);
105+
106+
self->options = (const LogProtoHTTPServerOptionsStorage *)options;
107+
106108
self->super.extracted_raw_data_handler = _http_request_handler;
107109
self->request_processor = _http_request_processor;
108110
self->request_header_checker = _check_request_headers;
@@ -121,38 +123,46 @@ log_proto_http_server_new(LogTransport *transport,
121123
return &self->super.super.super;
122124
}
123125

124-
/* Options */
126+
/*----------------- Options -----------------*/
125127

128+
/* NOTE: We do not maintain here the initialized state at all, it is the responsibility of the
129+
* LogProtoServer/LogProtoServerOptions functions
130+
*/
126131
void
127-
log_proto_http_server_options_defaults(LogProtoHTTPServerOptionsStorage *options)
132+
log_proto_http_server_options_defaults(LogProtoServerOptionsStorage *proto_server_options)
128133
{
129-
log_proto_server_options_defaults((LogProtoServerOptionsStorage *)options);
134+
LogProtoHTTPServerOptionsStorage *options = (LogProtoHTTPServerOptionsStorage *) proto_server_options;
135+
136+
proto_server_options->super.init = log_proto_http_server_options_init;
137+
proto_server_options->super.validate = log_proto_http_server_options_validate;
138+
proto_server_options->super.destroy = log_proto_http_server_options_destroy;
139+
130140
options->super.close_after_send = FALSE;
131-
options->super.initialized = FALSE;
132141
}
133142

134143
void
135-
log_proto_http_server_options_init(LogProtoHTTPServerOptionsStorage *options,
144+
log_proto_http_server_options_init(LogProtoServerOptionsStorage *proto_server_options,
136145
GlobalConfig *cfg)
137146
{
138-
if (options->super.initialized)
139-
return;
140-
141-
log_proto_server_options_init(&options->storage, cfg);
147+
LogProtoHTTPServerOptionsStorage *options = (LogProtoHTTPServerOptionsStorage *) proto_server_options;
142148
options->super.close_after_send = FALSE;
149+
}
143150

144-
options->super.initialized = TRUE;
151+
void
152+
log_proto_http_server_options_destroy(LogProtoServerOptionsStorage *proto_server_options)
153+
{
145154
}
146155

147156
gboolean
148-
log_proto_http_server_options_validate(LogProtoHTTPServerOptionsStorage *options)
157+
log_proto_http_server_options_validate(LogProtoServerOptionsStorage *proto_server_options)
149158
{
150-
return log_proto_server_options_validate(&options->storage);
159+
return TRUE;
151160
}
152161

153162
void
154-
log_proto_http_server_options_set_close_after_send(LogProtoHTTPServerOptionsStorage *options,
163+
log_proto_http_server_options_set_close_after_send(LogProtoServerOptionsStorage *proto_server_options,
155164
gboolean value)
156165
{
166+
LogProtoHTTPServerOptionsStorage *options = (LogProtoHTTPServerOptionsStorage *) proto_server_options;
157167
options->super.close_after_send = value;
158168
}

lib/logproto/logproto-http-server.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
typedef struct _LogProtoHTTPServerOptions
3030
{
3131
LogProtoServerOptions super; // This must be the first !!!
32-
gboolean initialized;
3332
gboolean close_after_send;
3433

3534
} LogProtoHTTPServerOptions;
@@ -56,16 +55,17 @@ struct _LogProtoHTTPServer
5655
gssize (*response_sender)(LogProtoHTTPServer *self, const gchar *data, gsize data_len, gboolean close_after_sent);
5756
};
5857

59-
void log_proto_http_server_options_defaults(LogProtoHTTPServerOptionsStorage *options);
60-
void log_proto_http_server_options_init(LogProtoHTTPServerOptionsStorage *options, GlobalConfig *cfg);
61-
void log_proto_http_server_destroy(LogProtoHTTPServerOptionsStorage *options);
58+
void log_proto_http_server_options_defaults(LogProtoServerOptionsStorage *options);
59+
void log_proto_http_server_options_init(LogProtoServerOptionsStorage *options, GlobalConfig *cfg);
60+
void log_proto_http_server_options_destroy(LogProtoServerOptionsStorage *options);
61+
gboolean log_proto_http_server_options_validate(LogProtoServerOptionsStorage *options);
6262
void log_proto_http_server_options_set_close_after_send(
63-
LogProtoHTTPServerOptionsStorage *options,
63+
LogProtoServerOptionsStorage *options,
6464
gboolean value);
6565

6666
LogProtoServer *log_proto_http_server_new(LogTransport *transport,
6767
const LogProtoServerOptionsStorage *options);
6868
void log_proto_http_server_init(LogProtoHTTPServer *self, LogTransport *transport,
69-
const LogProtoHTTPServerOptionsStorage *options);
69+
const LogProtoServerOptionsStorage *options);
7070

7171
#endif

0 commit comments

Comments
 (0)