spdycat: Added host header field to SYN_STREAM.

This commit is contained in:
Tatsuhiro Tsujikawa 2012-02-01 21:47:25 +09:00
parent 42f8ef5f99
commit 45376c6b11
3 changed files with 11 additions and 3 deletions

View File

@ -46,6 +46,7 @@
#include <fstream>
#include <map>
#include <vector>
#include <sstream>
#include <openssl/ssl.h>
#include <openssl/err.h>
@ -163,10 +164,14 @@ int communicate(const std::string& host, uint16_t port,
nfds_t npollfds = 1;
pollfd pollfds[1];
std::stringstream ss;
ss << host << ":" << port;
std::string hostport = ss.str();
for(int i = 0, n = reqvec.size(); i < n; ++i) {
uri::UriStruct& us = reqvec[i].us;
std::string path = us.dir+us.file+us.query;
int r = sc.submit_request(path, 3);
int r = sc.submit_request(hostport, path, 3);
assert(r == 0);
path2req[path] = &reqvec[i];
}

View File

@ -104,9 +104,11 @@ int Spdylay::fd() const
return fd_;
}
int Spdylay::submit_request(const std::string& path, uint8_t pri)
int Spdylay::submit_request(const std::string& hostport,
const std::string& path, uint8_t pri)
{
const char *nv[] = {
"host", hostport.c_str(),
"method", "GET",
"scheme", "https",
"url", path.c_str(),

View File

@ -49,7 +49,8 @@ public:
bool want_read();
bool want_write();
int fd() const;
int submit_request(const std::string& path, uint8_t pri);
int submit_request(const std::string& hostport, const std::string& path,
uint8_t pri);
bool would_block(int r);
private:
int fd_;