{"repo":"giuseppelt/httpc","free":true,"listed":false,"github":"https://github.com/giuseppelt/httpc","clone":"git clone https://github.com/giuseppelt/httpc.git","description":"Build function-based API with minimal code and end-to-end type safety","language":"TypeScript","stars":197,"topics":["api","client-generator","javascript","json-api","rpc","rpc-api","typescript","serverless","edge","workers"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"httpc httpc is a javascript/typescript framework for building function-based API with minimal code and end-to-end type safety. - Documentation and tutorials - Community - Issues and feature requests Quick glance You just write functions and export them. No need to worry how the server will execute them. From the client you can call server functions like normal javascript functions with a natural syntax. Key principle httpc is an abstraction over the standard HTTP protocol. With httpc you can build an API that speaks functions, arguments and return values, not http verbs, headers, resource paths, data serialization… The httpc framework hides all the complexity of the underling HTTP while keeping you focused on what matters: the function logic. Main features Middlewares Run common logic via middlewares. Context ubiquity Access the request context from everywhere in your application. Be in a handler, middleware o service logic, the context is always available with no need to pass parameters around. Hooks Hooks encapsulate common logic around the request context. By convention hooks adopt the use prefix. @httpc/kit offers several builtin hooks to cache data, to perform authorization checks, to make transactions… Serverless You can host a full httpc API inside a serverless environment like Vercel, AWS Lambda or Netlify functions. This gives the advantage to deploy a single serverless function handling the whole API. For example with Vercel, you can expose all your API functions: T","default_branch":null,"files":null,"tree":[],"storefront":"/r/giuseppelt","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/giuseppelt/httpc/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}