int uxst_event_accept(int fd);
void uxst_add_listener(struct listener *listener);
struct task *uxst_process_session(struct task *t);
+int uxst_req_analyser_stats(struct session *s, struct buffer *req, int an_bit);
#endif /* _PROTO_PROTO_UXST_H */
global.stats_sock.state = LI_INIT;
global.stats_sock.options = LI_O_NONE;
global.stats_sock.accept = uxst_event_accept;
- global.stats_sock.handler = uxst_process_session;
+ global.stats_sock.handler = process_session;
global.stats_sock.analysers = AN_REQ_UNIX_STATS;
global.stats_sock.private = global.stats_fe; /* must point to the frontend */
s->data_source = DATA_SRC_STATS;
s->ana_state = STATS_ST_REQ;
buffer_write_dis(s->req);
- buffer_shutw_now(s->req);
/* fall through */
case STATS_ST_REQ:
#include <proto/pipe.h>
#include <proto/proto_http.h>
#include <proto/proto_tcp.h>
+#include <proto/proto_uxst.h>
#include <proto/proxy.h>
#include <proto/queue.h>
#include <proto/server.h>
break;
}
+ if (s->req->analysers & AN_REQ_UNIX_STATS) {
+ last_ana |= AN_REQ_UNIX_STATS;
+ if (!uxst_req_analyser_stats(s, s->req, AN_REQ_UNIX_STATS))
+ break;
+ }
+
if (s->req->analysers & AN_REQ_PRST_RDP_COOKIE) {
last_ana |= AN_REQ_PRST_RDP_COOKIE;
if (!tcp_persist_rdp_cookie(s, s->req, AN_REQ_PRST_RDP_COOKIE))