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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Seulement voila le Poco::Net::HTTPResponse déclare le copie en privé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ResponseHTTP sendHttpsRequest();
Comment faire cela proprement ? (Il est toujours possible de copier tous les champs de la httpResponse, mais je pense qu'il doit exister mieux).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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&); };
Merci de votre aide.
Partager