Problème de conception : copy de classe interdite
Bonjour,
je rencontre un petit soucis de conception de mon application.
Je suis en train de faire une classe qui exécute des requêtes HTTPS/HTTP avec la librairie réseau Poco::Net.
Mon soucis est le suivant, lorsque l'on exécute une requête, les paramètres du header et le body sont dans deux éléments distincts :
Code:
1 2 3 4 5 6 7 8 9
|
// istream = body res = header.
std::istream& rs = m_session.get()->receiveResponse(res);
// On peut certainement mieux faire si vous avez une idée..
uint32_t len;
rs.read((char*)& len, 2);
std::string test(len, '\0');
rs.read(&test[0],len); |
J'aimerai avoir un objet qui contient à la fois le header et le body et le retourner lorsque l'on effectue une requête, voila la signature :
Code:
ResponseHTTP sendHttpsRequest();
Seulement voila le Poco::Net::HTTPResponse déclare le copie en privé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| private:
enum Limits
{
MAX_VERSION_LENGTH = 8,
MAX_STATUS_LENGTH = 3,
MAX_REASON_LENGTH = 512
};
HTTPStatus _status;
std::string _reason;
HTTPResponse(const HTTPResponse&);
HTTPResponse& operator = (const HTTPResponse&);
}; |
Comment faire cela proprement ? (Il est toujours possible de copier tous les champs de la httpResponse, mais je pense qu'il doit exister mieux).
Merci de votre aide.