Commit graph

205 commits

Author SHA1 Message Date
LukeMathWalker
11f2f7d4db Formatting 2021-01-11 08:32:55 +00:00
LukeMathWalker
72725c5306 Add reqwest as dependency 2021-01-11 08:32:27 +00:00
LukeMathWalker
e93d6b9955 Add email sketch. 2021-01-10 17:27:54 +00:00
LukeMathWalker
901942edef Start chapter 7, part 0. 2021-01-10 16:30:20 +00:00
Luca Palmieri
01798976f0
Update README.md 2021-01-05 12:37:14 +00:00
LukeMathWalker
95061149da Use at most 2.3 of fake to get rand 0.7. 2021-01-03 18:13:45 +00:00
LukeMathWalker
7fdb2151e0 Merge chapter 6, part 1 2021-01-03 18:06:10 +00:00
LukeMathWalker
e83df3991f Update branch name. 2021-01-03 18:02:20 +00:00
LukeMathWalker
9dd9aaffd6 Use TryInto. 2020-12-29 10:00:11 +00:00
LukeMathWalker
f6d62fb7a1 Add email validation. 2020-12-28 12:26:05 +00:00
LukeMathWalker
837a4bcce9 Init root branch for chapter 7. 2020-12-22 21:24:49 +00:00
LukeMathWalker
4a7c4245c0 Fix chapter number in README.md 2020-12-22 21:23:42 +00:00
LukeMathWalker
e105707c43 Use more idiomatic iteration semantic with any. 2020-12-22 21:22:37 +00:00
Ivan Tham
6af7e78ef5
Use Iterator::any to find forbidden characters (#30)
* Use Iterator::any to find forbidden characters

Iterator any stops if any are found, easier to understand than counting.

* Use Self rather than SubscriberName
2020-12-22 21:19:50 +00:00
Luca Palmieri
9fa3183fd7
Update README.md 2020-12-12 13:35:01 +00:00
Luca Palmieri
25f5037c68
Update README.md 2020-12-12 13:34:48 +00:00
Luca Palmieri
1b8c81daea Fix branch name. 2020-12-11 23:02:48 +00:00
Luca Palmieri
c07113d126 Fix branch name. 2020-12-11 23:02:42 +00:00
Luca Palmieri
518db87ced Merge 2020-12-11 23:01:55 +00:00
Luca Palmieri
6db241eef6 Fix integration test. 2020-12-11 21:35:16 +00:00
Luca Palmieri
9dd3b0590a Return 400 on bad names. 2020-12-11 15:50:09 +00:00
Luca Palmieri
56ee4e7746 Use Result 2020-12-11 14:24:11 +00:00
Luca Palmieri
1c27412280 Use AsRef 2020-12-09 22:55:00 +00:00
Luca Palmieri
0eaf310f29 Add SubscriberName constructor. 2020-12-09 17:20:15 +00:00
Luca Palmieri
2953d329ff Add SubscriberName (no methods) 2020-12-09 16:01:36 +00:00
Luca Palmieri
e5a32a51a4 First integration test. 2020-12-08 11:42:05 +00:00
Luca Palmieri
96c348bb68 Update CI + update sqlx 2020-12-05 19:14:22 +00:00
Luca Palmieri
847bb8152a Update CI + update sqlx 2020-12-05 19:10:01 +00:00
Luca Palmieri
f4ae2d2bab Update README. 2020-12-05 17:27:47 +00:00
Luca Palmieri
2f7ca42ca0 Refactor structure to use one root branch per chapter. 2020-12-05 17:19:18 +00:00
Luca Palmieri
f971cd6773 Refactor structure to use one root branch per chapter. 2020-12-05 17:19:14 +00:00
Luca Palmieri
1f0b14c248 Refactor structure to use one root branch per chapter. 2020-12-05 17:19:11 +00:00
Luca Palmieri
bfbbf96c41 Chapter 05 (snapshot) 2020-12-05 17:07:31 +00:00
Luca Palmieri
95e403575a
Use debian as base image. (#16) 2020-11-04 10:09:04 +00:00
Luca Palmieri
918af7a6c4
Fix Dockerfile (#14)
* Add chapter 5

* Basic deployment stuff

* Fix Dockerfile.

* Add an explicit connection timeout.

* Align port with configuration.

* Use debug for faster feedback loops.

* Add address configuration.

* Provision database.

* Use structured options.

* Add configuration

* Fix typo.

* Customise deserialization logic.

* Change to Require.

* Fix spec.

* Add a few more things to the dockerignore file.

* Update to match chapter.

* Add base configuration.

* Amend configuratiohn.

* Cache the copied files.

* Explicitly set the SQLX OFFLINE variable.

* Fix Dockerfile.

Co-authored-by: LukeMathWalker <rust@lpalmieri.com>
2020-11-01 23:27:34 +00:00
Luca Palmieri
0a4addc6bb
Chapter 5 (#13)
* Add chapter 5

* Basic deployment stuff

* Fix Dockerfile.

* Add an explicit connection timeout.

* Align port with configuration.

* Use debug for faster feedback loops.

* Add address configuration.

* Provision database.

* Use structured options.

* Add configuration

* Fix typo.

* Customise deserialization logic.

* Change to Require.

* Fix spec.

* Add a few more things to the dockerignore file.

* Update to match chapter.

* Add base configuration.

* Amend configuratiohn.

Co-authored-by: LukeMathWalker <rust@lpalmieri.com>
2020-11-01 21:25:11 +00:00
LukeMathWalker
39b7682fea Updated to the latest actix-web version. 2020-10-18 15:44:04 +01:00
LukeMathWalker
d21c36f74f Ensure consistency of variable naming. 2020-10-18 14:35:08 +01:00
LukeMathWalker
1a4ead9b74 Do not change struct name. 2020-10-18 14:22:22 +01:00
LukeMathWalker
ff99488030 Remove anyhow. 2020-10-18 14:13:27 +01:00
LukeMathWalker
cfb11a798d Remove unused dependencies. 2020-10-18 13:50:32 +01:00
William Gough
8730d59e70
remove duplicate request_id in subscription instrumentation (#10) 2020-10-14 09:03:11 +01:00
Luca Palmieri
17fa92e395
Update README.md 2020-10-14 08:59:08 +01:00
Luca Palmieri
757bdf9330
Update README.md 2020-09-27 17:17:34 +01:00
Luca Palmieri
2fe0da12f3
Update README.md 2020-09-27 17:13:25 +01:00
Luca Palmieri
3e553eaf60
Chapter04 (#9)
* Add chapter 4 code.

* Add logger middleware.

* Add env_logger.

* Instrumented.

* Test logs.

* Introduce instrument.

* Refactor handler.

* Use TracingLogger.

* Update.

* Fix linter error.
2020-09-27 17:09:42 +01:00
Luca Palmieri
3e01540d57 Make sure to match the state of the tests folder at the end of chapter 3 2020-09-21 13:50:01 +01:00
Jes Bak Hansen
f4ba849d91
Bind to all interfaces (#5)
* Bind to all interfaces

When running under WSL2, binding only to localhost via the 127.0.0.1 address
only lets you access the server from within WSL2 itself. It does not allow you
to access the server from Windows.

With this change, you can access the web server from the WSL ip address. You can
find your WSL ip address with

```
$ ip a | grep eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.161.12/20 brd 192.168.175.255 scope global eth0
```

* Add comment about binding to localhost

When running under WSL2, binding only to localhost via the 127.0.0.1 address
only lets you access the server from within WSL2 itself. It does not allow you
to access the server from Windows.

Add a comment explaining how to work around this, by binding to all
interfaces, instead of only to localhost.
2020-09-01 15:54:53 +01:00
Luca Palmieri
24dccda00c
Chapter 3 Part 1 - Patches (#4)
* Adjust content encoding.

* Refactor assertion.

* Add one more test case

* Fix assertions.

* Fix route.

* Stricter assertions

* Few fixes.

* Formatting
2020-08-31 02:05:21 +01:00
Luca Palmieri
656ee46c09
Chapter03, Part 1 (#2) 2020-08-25 22:19:53 +01:00