I currently am developing a REST server using Microsoft's cpprestsdk called Casablanca.
I have the server running on a linux virtual machine using Oracle's VirtualBox.
I have the VM set up to use bridged adapter networking, and can successfully SSH into the machine so I know that it is possible to send an http request to my server.
I have the endpoint of my server currently set to:
http://localhost:4200/api"
See the code in my main.cpp below:
int main() {
cout << "Starting Server" << endl;
TransactionController server;
server.setEndpoint("http://localhost:4200/api");
server.initHandlers();
try {
server.openServer().wait();
cout << "Server listening at: " << server.getEndpoint() << endl;
// figure out how to keep server running without this?
while (true);
}
catch(exception &e) {
cout << "--- ERROR DETECTED ---" << endl;
cout << e.what() << endl;
}
// this doesn't get reached bc of the while(true)
server.closeServer().wait();
return 0;
}
(I know that this isn't the cleanest implementation, but I am just trying to get something off the ground so I can test functionality, feel free to comment on how I can improve that code snippet if you have anything to say)
So if I log into my VM and do a curl GET request on the guest machine it completes successfully and I receive my response as intended.
Example curl:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://localhost:4200/api
Now my question is, how can I do the same request but from my host computer, using an HTTP client such as Postman or Advanced Rest Client?
I am not sure what I would put as the request URL when attempting to query my server running on my guest machine from my host machine.
Using ifconfig I know my ip address of the guest machine is:
10.0.0.157
I can SSH into my VM using this address, so I know this is the correct address of my guest machine.
I do not know how I can send my http requests to this machine that is running my server, however.
I am not an expert in networking, or casablanca for that matter, so any guidance or pointers in the right direction would be greatly appreciated. Thank you for your time!