oxidecomputer / oxidecomputer/dropshot

Allow usage as building block in larger application

Open
#62 9 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.2k
Forks
104
Avg merge
1d 19h
Merged PRs (30d)
22

Description

A lot of the building blocks that make up HttpServer are hidden inside the crate.
It's not really possible to customize the specifics of the HTTP server by just using dropshot as a building block of a Hyper server.

I'm looking for one of these:

  • Implement Service<hyper::Request<hyper::Body>> on ApiDescription
  • Make HttpRouter public and implement Service<hyper::Request<hyper::Body>> on it

This way people could compose their own HTTP server and the surface area of what dropshot needs to care about is reduced.

Might fix #10

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the public API around HttpServer, ApiDescription, and HttpRouter, then review the Service implementation options described in the issue and the discussion around issue #10. Done means a clearly supported way to compose Dropshot with a Hyper server, with the intended public surface and integration behavior established.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, backend, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.