Coder Social home page Coder Social logo

bobcat's Introduction

Bobcat

a webserver in C

this is very much a work in progress, the idea is to have a somewhat decent yet very simple web-server framework focused on static files, templating and forms to build traditional SSR MPA applications. as well as handling things like file-transfers.

Roadmap

  1. Threading โœ…
  2. Request parsing ๐ŸŸก
  3. Handler mapping ๐ŸŸก
  4. Response generation โŒ

-- maybe more to come?

wishlist

HOT RELOAD: I would love to include things like support for hot-reloading, but im not sure exactly how to do that from a library perspective, that might be more of an application level thing.

JSON: i might implement the c-json lib in order to have access to parsing json data from the request body for building API's, althouhg that is not the primary focus at the moment.

things i need help with

does it leak? does it leak a lot? its really bad isnt it? memmory management is not my strongest suit, and while i try to keep a track of stuff i realize that there are probably several places where bobcat isnt really "house-clean".

so if you're comfy with valgrind or have some other tools up your belt feel free to help sort out threading and memmor management where possible, its much apreciated ^~^

known issues

  • crashes on unmapped URL
  • all "foreign" HTTP-VERBS are treated as bc_NONE

todo:

  • handler: threaded tasks
  • handler: hot reloading
  • handler: map functions to rules
  • request parsing: methods
  • request parsing: uri - path
  • request parsing: uri - args
  • request parsing: headers
  • request parsing: body - json
  • request parsing: body - form
  • response construction: head - statuscode
  • response construction: head - headers
  • response construction: head - cookie
  • response construction: body - html
  • response construction: body - json

bobcat's People

Watchers

NY4N avatar

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.