Giter Club home page Giter Club logo

42-webserv's Introduction

Hi there ๐Ÿ‘‹

I'm somewhat a Developer & Codam Student.

  • โš™๏ธ I use code daily with: .env, package.json, .o, .gitignore, .npm install, .git clone
  • ๐ŸŒ I'm not active
  • ๐ŸŒฑ Learning all about HTML/CSS programming languages
  • ๐Ÿ’ฌ Ping me about Copying the readme of harm-smits
  • โšก๏ธ Hobbies: Yes

Contact me:

mrjvs | Github

42-webserv's People

Contributors

maartenramadan avatar mrjvs avatar pmerku avatar

Watchers

 avatar  avatar

42-webserv's Issues

Signals

Signal handling for proper cleanup

5 plugins

plugins needed

  • embedded language @mrjvs
  • brainfuck runner @mrjvs
  • replace in text @pmerku
  • randomized 404 page (random image + randomized text) @pmerku
  • json stat api @piramidebouwer

Timeouts

Currently, clients cant timeout. that needs to be fixed

Regex parser

regex parser

Regex parser(const std::string &regex);
bool doesMatch = parser.match(const std::string &str);

Terminal command responder

Terminal commands are being parsed but not actually handled correctly
Loading and unloading of plugins should be the main feature

Logger compilation errors

Comma at the end of enumerator list in LogItem.hpp is a pedantic error.
Binary color constants in LogItem.hpp are c++14 / gcc extension

For compilation errors add the pedantic flag in CMakeLists.txt:

set(CMAKE_CXX_FLAGS "-O3 -Wall -Wextra -Werror")

change to:

set(CMAKE_CXX_FLAGS "-O3 -Wall -Wextra -Werror -pedantic-errors")

Worker queue

every read/write operation gets added to a task queue.
task queue will do a single read/write operation.

Proper handling of HTTP methods

RFC 7231 specifies responses on specific methods.
for example:

  • GET -> give resources
  • PUT -> create/modify resource (see #45)
  • POST -> send data to resource
  • HEAD -> give resource, but only header part
  • OPTIONS -> give resource, but only header & allow header.
  • TRACE -> trace loopback

Config parser

config syntax: (may or may not be stolen from nginx)

{
  KEY value1 value2;
  KEYWORD {

  }
}

ENV builder

A builder that will make the environmental variables for CGI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.