🔨」 fix: fixed url

This commit is contained in:
2025-04-30 14:54:34 +02:00
parent 57f681ddf0
commit 98955fc131
5 changed files with 48 additions and 15 deletions

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/30 09:40:16 by adjoly #+# #+# */
/* Updated: 2025/04/30 09:41:41 by adjoly ### ########.fr */
/* Updated: 2025/04/30 14:54:23 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -28,6 +28,9 @@ void Get::parse(std::string const &data) {
if (std::getline(stream, line)) {
std::istringstream line_stream(line);
line_stream >> this->_method >> this->_target >> this->_protocol;
_method = _sanitizeStr(_method);
_target = _sanitizeStr(_target);
_protocol = _sanitizeStr(_protocol);
/* this->_target.insert(this->_target.begin(), '.'); */
}
@ -36,7 +39,7 @@ void Get::parse(std::string const &data) {
if (delimiter_index != std::string::npos) {
std::string key = line.substr(0, delimiter_index);
std::string value = line.substr(delimiter_index + 2);
this->_headers.insert(std::make_pair(key, value));
this->_headers.insert(std::make_pair(key, _sanitizeStr(value)));
}
}
@ -46,6 +49,9 @@ void Get::parse(std::string const &data) {
this->_body = body_stream.str();
_url = new URL("http://" + _headers["Host"] + _target);
std::cout << "wtf = " << _headers["Host"] << std::endl;
std::cout << *_url << std::endl;
/*

View File

@ -6,11 +6,12 @@
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/17 11:12:41 by mmoussou #+# #+# */
/* Updated: 2025/04/29 17:27:49 by adjoly ### ########.fr */
/* Updated: 2025/04/30 13:48:03 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "cppeleven.hpp"
#include "requests/default.hpp"
#include <log.hpp>
#include <server/Client.hpp>
#include <sstream>
@ -19,7 +20,7 @@ using namespace webserv::server;
Client::Client(struct pollfd *pfd, sockaddr_in socket, config::Config *conf)
: _pfd(pfd), _client_addr(socket), _Gconf(conf) {
_request = not_nullptr;
_request = not_nullptr;
log("", "Client", "constructor called");
}
@ -44,15 +45,15 @@ void Client::parse(void) {
received_data += std::string(buffer, bytes_received);
} while (buffer[bytes_received]);
this->_getRequest(received_data);
_getRequest(received_data);
this->_conf = _Gconf->getServer(this->_request->getHeaders()["Host"]);
_conf = _Gconf->getServer(this->_request->getHeaders()["Host"]);
// if (received_data.length > (get max_body_size from Route corresponding) )
// throw error
}
bool Client::requestParsed(void) {
bool Client::requestParsed(void) {
if (_request == not_nullptr) {
return false;
}
@ -63,6 +64,12 @@ void Client::_getRequest(std::string request_str) {
std::string method = request_str.substr(
0, request_str.substr(0, 4).find_last_not_of(" ") + 1);
(void)_route;
/* if (_isAllowed(method)) { */
/* _request = new http::Get(); */
/* _request->setMethod("405"); */
/* _log->info("405 methods not allowed"); // TODO make a better log print */
/* } */
if (method == "GET") {
this->_request = new http::Get(request_str);
_log->info("get request received");