But that was largely due to missing field prefixes in the Comment record for
that level. Field prefixes added back in and added some doctests and changed the
wording for that section to explain a bit more of what is going on.
Added doctests and a shout out to what is going on with "$$tablename$$" in the
``withTable`` function.
Updated the level04 tests file to be a bit more defined and provide an example
of a test that Hspec.Wai lets you write. Information was very thin on the ground
in that file so it would have been too difficult without assistance.
Provided a bit more information about cool things that ``ghcid`` can do that I
didn't know about. :D
Fixes#9, #7, #5
The application only kinda-sorta has an SQL injection risk given that the config
has to be compromised and the application restarted to load the new config. Even
in a learning application like this one it's worth mentioning but still going to
be far from your biggest problem if someone has that level of access to your
servers.
Fixes#8
- Regenerated the individual nix files.
- Removed the shell.nix files
Just running ``$ nix-build`` in levels greater than 2 currently
doesn't succeed, still working on this. The nix-shell environments
work as expected for all levels.
Image link in README should no longer trigger 'insecure content' warnings,
the link was reading from a non-HTTPS source.
Other rewordings and minor refactors
Made the error management for loading the JSON config file work as one might
expect it should. Expanded the error reporting expectations to include specific
file reading and JSON decoding errors.
The difficulties that will be had in handling the multiple either values will
motivate latter sections RE ExceptT (EitherT) transformers. However there is
nothing here that should be beyond people that do not know how transformers
work.
Added more doctests to the different moving parts to make things a bit clearer.
Added doctests to the cabal files and included a 'doctests.hs' to the tests
section.
default.nix files have been updated with the bonus dependency.
There is no persistent storage in the application by the time we're expecting
students to write ``Response`` handling functions. So add some more guidance
that we only expect placeholder values to be used, this wasn't sufficiently
clear. Fixes#3
Updated the latter placeholder values to match the guidance offered, for
consistency.
Updated the configuration ``helloMsg`` value and some of the tests to be a bit
more sensible, even if only a little.
Reworded ``Error`` blurb to direct people to try to write other functions and
see what errors are needed. Fixes#1
Changed the ``Port`` type to ``Word16`` to be more precise about what values we
allow for a port number. Add a helper function to take a ``Conf`` to the ``Int``
value that Wai requires. Fixes#4
Added readme files to the individual exercises to help point people in the right
direction when they get started. Probably more useful to the people that are
wanting to try this by themselves.
More work needed to explain things a little better, not sure I've
made a good case for motivating the use of ReaderT or actually
explained it that well.