* Move service config service back into shared .NET Framework Library
* Move Content files into shared folder. Make autoface load different assembilies depending on what framework is using it.
* Change my mind on what the shared module should be called. Common Module is too bland.
* DotNet4.SocksProxy is not yet publically .NET Standard. Revert to previous SocksWebProxy package.
* Check in unstaged change to test dependency injection setup.
* Introducing API v2
There were multiple inconsistencies in the old API and I have been
toying with the idea to replace it. This will suck for everyone who was
building on top of the Jackett API, however as it was probably too
painful to do so I'd say no one really tried.
Now API v2.0 should be much more constistent as it uses DTObjects, and
instead of manually constructing a json response it is handled by the
ASP.NET web api. It is much more RESTful than it was, proper GET
endpoints are introduced, and updating resources are now done via POST -
it might be improved by introducing other type of REST methods.
I know this sucks as completely breaks backward compatibility, however
it'll probably make it easier to maintain and build on top of in the
long run.
* Use DELETE method to unconfigure an indexer
* Remove debugging format from NLog
* Fixing an null exception
* Properly implementing IExceptionFilter interface
* Enable adding public indexers without configuration
* Fix missing manual search results
* Basic modularization of the JS API
* Introduce API versioning
* Fix redirects to the dashboard
* Cleaning up a little bit
* Revamping Torznab and Potato as well
* Move preconditions to FilterAttributes and simplify logic
* Remove legacy filtering... will move to IResultFilter
* Minor adjustment on results interface
* Use Interpolated strings in ResultsController
* DTO-ify
* Remove fallback logic from potato results
* DTO everywhere!!!
* DTO-ify everything!
* I hope this is my last piece of modification to this PR
* Remove test variables...
* Left out a couple conflicts... It's late
* Line endings...
* Refactoring how MetaIndexers handle fallbacks
Originally this modification was part of a much larger refactoring,
however for the sake of reviewability I split it into smaller chunks.
Sadly it is still quite large.
I wanted to split it even more, however after a certain point there was
really no value in creating smaller chunks. The biggest part of this
modification would be still huge.
So all in all, there're 3 aspects of this modification
- It modifies BaseIndexer so that it now implements IIndexer (will be
very useful later on)
- Resolving most of the warnings currently in Jackett (the only ones
remaining are related to Autofac, however if I could I would just burn
Autofac altogether rather than fix the warnings. Will open discussion on
this.)
- Biggest part: refactoring how MetaIndexers handle fallbacks and how
they provide the final result set
MetaIndexers now accept any kind of fallback and filtering mechanism
that implements the necessary interface, so that in the future IMDB
fallback and filtering won't be the only one. I know there are not a lot
of unit tests around Jackett at the moment, however this renders the
class much more unittestable as well.
* Integrate OMDB API for the fallback option
* Safeguarding when no API key is specified
* Autofac started complaining... I don't understand...
* How did that not make the previous commit?
Added "base path override" config option that makes all links and
redirects work with your reverse proxy.
Fixed post config update reload to work properly.
Make redirects and ajax calls use relative pathing.