Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Thomas Corbat
CPPAdvanced
Commits
dd55f1bd
Commit
dd55f1bd
authored
May 03, 2020
by
Felix Morgner
Browse files
week10: adjust solution to task description
parent
9aeb0f19
Changes
1
Hide whitespace changes
Inline
Side-by-side
week10/exercise_solutions/w10_solution_01_SyncJuliaClient/SyncJuliaClient.cpp
View file @
dd55f1bd
...
...
@@ -5,9 +5,7 @@
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <istream>
#include <iterator>
#include <sstream>
int
main
()
{
auto
context
=
asio
::
io_context
{
};
...
...
@@ -17,22 +15,22 @@ int main() {
auto
socket
=
asio
::
ip
::
tcp
::
socket
{
context
};
socket
.
connect
(
server_endpoint
);
auto
request
=
std
::
ostringstream
{
};
auto
transfer_buffer
=
asio
::
streambuf
{
};
auto
request
=
std
::
ostream
{
&
transfer_buffer
};
request
<<
http
::
request
{
http
::
method
::
get
};
auto
request_data
=
request
.
str
();
asio
::
write
(
socket
,
asio
::
buffer
(
request_data
)
);
asio
::
write
(
socket
,
transfer_buffer
);
auto
response_buffer
=
asio
::
streambuf
{
};
auto
response_stream
=
std
::
istream
{
&
response_buffer
};
asio
::
read_until
(
socket
,
response_buffer
,
"
\r\n\r\n
"
);
asio
::
read_until
(
socket
,
transfer_buffer
,
"
\r\n\r\n
"
);
auto
response_stream
=
std
::
istream
{
&
transfer_buffer
};
auto
response
=
http
::
response
{
response_stream
};
if
(
!
response
.
complete
())
{
auto
content_length
=
response
.
get
<
http
::
header
::
content_length
>
();
auto
buffered
=
response
_buffer
.
size
();
asio
::
read
(
socket
,
response
_buffer
,
asio
::
transfer_exactly
(
content_length
-
buffered
));
auto
buffered
=
transfer
_buffer
.
size
();
asio
::
read
(
socket
,
transfer
_buffer
,
asio
::
transfer_exactly
(
content_length
-
buffered
));
response
.
body
(
response_stream
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment