restless
restless copied to clipboard
Does restless work?
Trying to do a chunked upload but it doesnt work
std::shared_ptr<restless::Session> session;
void MakeConn( ){
session = std::make_shared<restless::Session>();
session->open( "127.0.0.1", 80, [ this ]( auto session, auto status ){
auto request = std::make_shared< restless::Request >( );
request->set_protocol( "HTTP" );
request->set_version( 1.1 );
request->set_path( "/uploads" );
request->set_method( "PUT" );
request->set_header( "Transfer-Encoding", "chunked" );
session->send( request, []( auto session, auto response, auto status ){
std::cout << status << std::endl;
return std::error_code();
}
);
return std::error_code();
});
}
void SendData(char* data, long length){
std::string chunk = std::to_string(length);
chunk += "\r\n";
if(length){
chunk += data;
}
chunk += "\r\n";
session->yield(
chunk,
[]( auto session, auto status ){
std::cout << status << std::endl;
return std::error_code();
}
);
}
What appears to be the issue?
I'm getting system:111
from std::cout << status << std::endl;
its now 0 as it should be but the code still doesnt work, servers that support Transfer-Encoding: chunked
return 400 error... uploads with Content-Length header work tho
this doesnt work either, i get 400 error code
void testChunkedTrans( ){
auto session = std::make_shared<restless::Session>();
session->open( "127.0.0.1", 80, [ this ]( auto session, auto status ){
auto request = std::make_shared< restless::Request >( );
request->set_protocol( "HTTP" );
request->set_version( 1.1 );
request->set_path( "/uploads" );
request->set_method( "PUT" );
request->set_header( "Transfer-Encoding", "chunked" );
request->set_body("10\r\nqwertychey\r\n0\r\n\r\n");
session->send( request, []( auto session, auto response, auto status ){
std::cout << response->get_status_code() << std::endl;
return std::error_code();
}
);
return std::error_code();
});
}