summaryrefslogtreecommitdiff
path: root/icespider/fcgi/fcgiRequest.h
blob: cf9c9a54582bc6cc812c26335612bc4c30d92be1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include "cgiRequestBase.h"
#include <fcgiapp.h>
#include <fcgio.h>
#include <iosfwd>

namespace IceSpider {
	class Core;

	class FcgiRequest : public CgiRequestBase {
	public:
		FcgiRequest(Core * core, FCGX_Request * req);

		std::istream & getInputStream() const override;
		std::ostream & getOutputStream() const override;

	private:
		fcgi_streambuf inputbuf;
		mutable std::istream input;
		fcgi_streambuf outputbuf;
		mutable std::ostream output;
	};
}