this post was submitted on 17 Nov 2023
17 points (94.7% liked)

Rust

5999 readers
21 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

Greetings to all.

I have spent the last couple of evenings learning about Rust and trying it out. Wrote a simple cli calculator as a first thing and thought I would improve it by making it available over http.

I was actually a bit surprised to find that there was no http tooling in the standard library, and searching online gave me an overload of information on different libraries and frameworks.

I ended up implementing my own simple HTTP server, might as well as this is a learning project.

Now I have it working, and while it isn't perfect or done, I thought that this would be a good time to check what things I am doing wrong/badly.

Which is why I am here, would love to get some pointers on it all to make sure I am going in the right direction in the future.

The project is hosted here: https://github.com/Tebro/rsimple_http

you are viewing a single comment's thread
view the rest of the comments
[–] tebro@lemmy.tebro.fi 3 points 1 year ago (1 children)

Thanks for the great points.

  • Using the BufRead trait sounds like a good improvement!
  • Yes, this is a stupid temp thing that I have to fix once I get better errors in place. Which you also had some good ideas on :)
  • Good idea, should be helpful
  • As mentioned above, this sounds great!
  • Yup, left over from the initial CLI application
  • Yeah it is there as an example, need to look into how examples are better set up
[–] jameseb@lemm.ee 2 points 1 year ago* (last edited 1 year ago) (1 children)

I'm glad my points we're helpful!

There is some documentation on examples in the Cargo book. The basic procedure is to put it in an examples directory alongside the src directory (and in its own subfolder if it has multiple files), and you can add an entry for it in the Cargo.toml (although it should automatically detect it if you put it in the examples directory, so that is only strictly necessary if you want to change the default settings).

[–] tebro@lemmy.tebro.fi 1 points 1 year ago

Yeah I moved it over and it got a lot nicer, nice to have this type of thing built in to cargo.