A server app built using Shelf, configured to enable running with Docker
A server app built using Shelf,
configured to enable running with Docker.
This sample code handles HTTP GET requests to /
and /echo/<message>
Requests Overview
This sample code handles following requests:
GET
/todos
– this request will fetch all the availabel todos in the list./todo/<id>
-this request will fetchTodo
according toid
that was parsed
POST
/add-todo
– this request will add newTodo
to the list, with JSON body that was attached.
DELETE
delete-todo/<id>
– this request will deleteTodo
according toid
that was parsed.
PUT
update-todo
– this request will update and replace theTodo
with sameid
.
Project Structure
Running the sample
Running with the Dart SDK
You can run the example with the Dart SDK
like this:
$ dart run bin/server.dart
Server listening on port 8080
And then from a second terminal:
$ curl http://0.0.0.0:8080
Hello, World!
$ curl http://0.0.0.0:8080/echo/I_love_Dart
I_love_Dart
Running with Docker
If you have Docker Desktop installed, you
can build and run with the docker
command:
$ docker build . -t myserver
$ docker run -it -p 8080:8080 myserver
Server listening on port 8080
And then from a second terminal:
$ curl http://0.0.0.0:8080
Hello, World!
$ curl http://0.0.0.0:8080/echo/I_love_Dart
I_love_Dart
You should see the logging printed in the first terminal:
2021-05-06T15:47:04.620417 0:00:00.000158 GET [200] /
2021-05-06T15:47:08.392928 0:00:00.001216 GET [200] /echo/I_love_Dart