Commit Graph

280 Commits

Author SHA1 Message Date
Claus Vium
2af5922af0 Fix review comments 2019-11-24 18:25:43 +01:00
Claus Vium
27e3cf1558 Move appbuilder and service collection to Jellyfin.Server 2019-11-24 15:27:58 +01:00
Claus Vium
3f651de24c Add authentication and remove versioning 2019-11-23 16:31:02 +01:00
Bond-009
b477b3874e Fix some warnings 2019-11-22 16:15:31 +01:00
Bond-009
b14d6d0417 Fix GetPathValue function 2019-11-13 16:32:33 +01:00
Vasily
6b6fede2e0 Address review comments 2019-10-16 16:13:59 +03:00
Vasily
82f8345aa5 Log to debug all HTTP 500 response urls 2019-10-14 13:22:53 +03:00
Vasily
1176749f14
Merge pull request #1863 from joshuaboniface/fix-baseurl-issues
Fix inconsistent BaseUrl behavior
2019-10-09 19:24:41 +03:00
Joshua Boniface
b96079fee6 Make NormalizeUrlPath static 2019-10-09 09:22:55 -04:00
Vasily
03450f383f Fix template for logging 2019-10-09 14:05:32 +03:00
Vasily
8109c7eb30 Always log at least error message when error happens during request processing 2019-10-09 14:00:22 +03:00
Vasily
33b69a7099 Set response length and mime type correctly when reporting an error 2019-10-09 13:54:05 +03:00
Joshua Boniface
2a79ae0a6e Normalize baseUrl behaviour
Fully normalizes the baseUrl behaviour to better match how this sort of
feature works in other programs.

1. The baseUrl is always appended to paths, even the built-in `/emby`
and `/mediabrowser` paths.
2. The baseUrl is set statically at class instance creation, to ensure
it persists through changes until the next restart.
3. Configuration is normalized using a function when set, to ensure it's
in a standard `/mypath` format with leading `/`.
4. Cleans up the conditionals around default redirects. For sanity after
changing the URL, it will match *any* path that doesn't match the
current baseUrl and redirect it back to the main page (with baseUrl).
5. Adds a second method, NormalizeUrlPath, to avoid lots of `+ "/" +`
string manipulations which are unclean - we should always have a leading
slash.
6. Sets the default baseUrl to an empty string to avoid unexpected
behaviour, though this would be worked-around automatically.
7. Adds some debug logs whenever a URL is normalized, to help track down
issues with this code (if any arise).
2019-10-08 18:06:03 -04:00
Vasily
fc99f1f563
Merge pull request #1785 from dkanada/compat
Add mediabrowser route back for now
2019-09-25 14:18:21 +03:00
dkanada
b5b7db1f32 add an exception to logging 2019-09-24 23:59:24 +09:00
dkanada
ab7e697f30 add mediabrowser route back for now 2019-09-24 23:59:24 +09:00
Bond_009
c9820d30ed Fix multiple mistakes and warnings 2019-09-23 20:32:44 +02:00
Erik Larsson
74864832ca Set log level to debug for HTTP range requests
This removes some spam when a DLNA renderer uses byte seeking.
2019-09-18 18:29:15 +02:00
Bond-009
ee637e8fec Fix warnings, improve performance (#1665)
* Fix warnings, improve performance

`QueryResult.Items` is now a `IReadOnlyList` so we don't need to
allocate a new `Array` when we have a `List` (and `Items` shouldn't need to
be mutable anyway)

* Update Providers .csproj to latest C#

* Remove extra newline from DtoService.cs

* Remove extra newline from UserLibraryService.cs
2019-09-02 02:19:29 -04:00
dkanada
97d6c2db6b keep old base url for now 2019-08-11 00:35:18 -07:00
dkanada
d521e5c36a add base url to server configuration 2019-08-11 00:35:18 -07:00
dkanada
c987203f5a remove old routes from http server 2019-08-11 00:33:13 -07:00
Bond_009
9fff4b060e Replace custom code with Asp.Net Core code 2019-08-09 22:36:20 +02:00
Erik Larsson
0e6417c9fa Set log level to debug for HTTP range requests 2019-08-03 12:37:02 +02:00
Bond-009
ce1fa42f9d
Merge branch 'master' into tasks 2019-06-01 17:06:01 +02:00
Joshua M. Boniface
2bc378a9c3
Merge pull request #1337 from jellyfin/release-10.3.z
Backmerge for 10.3.2 release
2019-04-30 23:35:11 -04:00
Bond-009
61d7bed181
Merge pull request #1304 from jellyfin/release-10.3.z
Backmerge 10.3.1
2019-04-25 07:27:37 +02:00
Bond_009
71479286e9 Fix #1234 2019-04-24 19:56:57 +02:00
Claus Vium
28c2ac528d Re-add content length, semi revert of changes in #1010 (#1287)
* Re-add content length, semi revert of changes in #1010
2019-04-24 14:06:54 +02:00
Bond-009
a8da122fb3
Merge pull request #1252 from jellyfin/release-10.3.z
Backmerge release 10.3.0
2019-04-20 12:25:29 +02:00
Joshua Boniface
250e0c75df Add MethodNotAllowedException with code 405 2019-04-17 22:31:06 -04:00
Joshua M. Boniface
c3532b92f7
Merge pull request #1158 from Bond-009/httpclean
Reduce complexity http routes
2019-04-17 22:12:17 -04:00
Bond-009
a332092769 Reduce complexity http routes 2019-03-26 19:20:40 +01:00
Bond-009
b44a70ff36 Simplify/remove/clean code
* Remove useless runtime check (we only support one)
* Remove unused args
* Remove a global constant

And ofc fix some warnings ;)
2019-03-25 22:25:32 +01:00
Bond_009
2696ac5eac Lower the amount of running tasks 2019-03-25 21:33:48 +01:00
Bill Thornton
4cd8903abc Fix default value for Expires header 2019-03-19 23:13:02 -04:00
Bond-009
e64aaebbac Improvements around streams
* Use ArrayPool instead of allocating new buffers each time
* Remove NetworkStream copy
* Remove some dead code
2019-03-13 21:11:01 +01:00
Claus Vium
e3b844b5aa Add urlprefixes during init 2019-03-07 22:49:41 +01:00
Claus Vium
3fa43a1e08 Don't set status code if response is closed 2019-03-07 22:26:23 +01:00
Claus Vium
dfff68b2f4 Make SkipLogExtensions static 2019-03-07 19:05:53 +01:00
Claus Vium
bba049c987 Make FileSystem readonly 2019-03-06 19:29:25 +01:00
Claus Vium
446f9bf81f Remove more Content-Length references 2019-03-05 20:48:04 +01:00
Claus Vium
913e80fd55 Add ProcessWebSocketRequest to IHttpListener 2019-03-05 20:35:07 +01:00
Claus Vium
9a4a01fb0e Fix DI in FileWriter.TransmitFile 2019-03-05 19:32:22 +01:00
Claus Vium
78742b8e4c Switch to HeaderNames instead of hardcoded strings (and other header related fixes) 2019-03-05 19:20:28 +01:00
Claus Vium
bc00617df7 Remove unused Brotli compressor 2019-03-05 10:26:43 +01:00
Claus Vium
51648a2a21 Remove unused _listener 2019-03-05 08:05:42 +01:00
Claus Vium
0250204f14 Expand todo 2019-03-04 22:26:57 +01:00
Claus Vium
9020f68ce1 Use QueryHelpers.AddQueryString 2019-03-04 20:08:54 +01:00
Claus Vium
e823c11b46 Add certificate to https and minor cleanup 2019-03-03 08:29:23 +01:00
Claus Vium
fb1de5a921 Remove more cruft and add the beginnings of a socket middleware 2019-02-27 23:22:55 +01:00
Claus Vium
c0b95dbc79 Fix query log for real 2019-02-27 20:11:40 +01:00
Claus Vium
647adc51c8 Fix query log 2019-02-27 19:55:25 +01:00
Claus Vium
27e7e792b3 Replace some usage of QueryParamCollection 2019-02-27 14:23:39 +01:00
Claus Vium
333bd2107a Remove HttpUtility 2019-02-27 12:40:18 +01:00
Claus Vium
848cfc32cc More cleanup 2019-02-26 22:57:59 +01:00
Claus Vium
e342b7bc71 Extend the IHttpServer interface to avoid the typecasting 2019-02-26 22:11:21 +01:00
Claus Vium
f1c93ae618 Remove SetContentLength and company 2019-02-26 22:11:21 +01:00
Claus Vium
4e8de67aca Remove SocketSharp from Jellyfin.Server and some other cleanup 2019-02-26 22:11:21 +01:00
Claus Vium
a85488cd20 Fix websockets array index out of bounds and some cleanup 2019-02-26 22:11:21 +01:00
Claus Vium
f3e7bc0573 Replace some todos with http extensions and prepare some socket work 2019-02-26 22:11:21 +01:00
Claus Vium
852460b991 kestrel init 2019-02-26 22:11:21 +01:00
Claus Vium
4db31acff9 Begin removing System.Net sources 2019-02-26 22:11:21 +01:00
Bond-009
0804bed66d Log time in a standardized way 2019-02-26 19:40:23 +01:00
Bond_009
0f9006c81f Use stopwatch for more accurate measurements and reduce log spam
DateTime.Now is suitible for small timespans
Replaced the needlessly complex and verbose logging for the httpserver
2019-02-25 18:26:17 +01:00
Joshua M. Boniface
89d4ce309d
Merge pull request #848 from Bond-009/perf
Minor changes to reduce allocations
2019-02-19 21:24:51 -05:00
Vasily
13f2783a8e
Merge pull request #887 from wtayl0r/replace-primitives-with-iconfiguration
Replace primitive injection with IConfiguration
2019-02-18 19:30:11 +03:00
William Taylor
18ae107ce4 Removed unnecessary configuration options and reduced primitive dependencies 2019-02-17 14:09:52 +00:00
Claus Vium
c720504e39 Drop ETag and use Last-Modified header (#890)
Drop ETag and use Last-Modified since performance is much better
2019-02-13 21:08:59 +01:00
Bond-009
3f13851be5 Address comments 2019-02-12 21:06:47 +01:00
Bond_009
8d98885cda Less string allocations 2019-02-12 21:06:47 +01:00
Bond_009
a709cbdc64 Fix more analyzer warnings 2019-01-27 12:12:44 +01:00
Claus Vium
df5e87409a Fix trim input 2019-01-22 22:40:06 +01:00
Claus Vium
94789860b1 Trim quotes from If-None-Match 2019-01-22 22:37:26 +01:00
Claus Vium
fd6d35e1d0 Remove unconditional caching, modified since header and use ETags 2019-01-22 21:18:48 +01:00
William Taylor
65cd3ed597 Replaced injections of ILogger with ILoggerFactory
This makes resolving dependencies from the container much easier as
you cannot resolve with primitives parameters in a way that is any
more readable.

The aim of this commit is to change as little as possible with the end
result, loggers that were newed up for the parent object were given the same
name. Objects that used the base or app loggers, were given a new logger with
an appropriate name.

Also removed some unused dependencies.
2019-01-20 21:05:12 +00:00
cvium
b35dcbb9f0 Remove MediaBrowser.Text since it violates licenses and is overall hacky 2019-01-20 06:30:50 +01:00
Erwin de Haan
e63b18f17d Reformat JustAMan review second pass changes. 2019-01-19 14:30:23 +01:00
Erwin de Haan
d116efe1f7 Merge branch 'dev' into reformat 2019-01-18 17:04:01 +01:00
Erwin de Haan
321c440739 Reformat JustAMan review pt1 changes
Refs #575
2019-01-17 20:24:01 +01:00
Bond-009
d0980f0da5 Update HttpListenerHost.cs 2019-01-16 19:13:13 +01:00
Bond-009
900dc851e6 Merge branch 'dev' into cleanup 2019-01-16 19:10:42 +01:00
Erwin de Haan
49b61f238e Merge branch 'dev' into reformat
# Conflicts:
#	Emby.Server.Implementations/ApplicationHost.cs
#	Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
#	Emby.Server.Implementations/LiveTv/LiveTvManager.cs
#	Emby.Server.Implementations/Security/MBLicenseFile.cs
#	Emby.Server.Implementations/Security/PluginSecurityManager.cs
#	Emby.Server.Implementations/Security/RegRecord.cs
#	MediaBrowser.Api/PluginService.cs
#	MediaBrowser.Api/System/SystemService.cs
#	MediaBrowser.Common/Security/IRequiresRegistration.cs
#	MediaBrowser.Common/Security/ISecurityManager.cs
#	MediaBrowser.Common/Security/PaymentRequiredException.cs
#	MediaBrowser.Model/Entities/MBRegistrationRecord.cs
#	MediaBrowser.Model/Entities/PluginSecurityInfo.cs
#	deployment/win-generic/build-jellyfin.ps1
2019-01-15 17:34:39 +01:00
Claus Vium
eca3c099d9 removed a bunch of validation, security, registration, premiere, whatever bs 2019-01-15 16:48:21 +01:00
Erwin de Haan
e867446437 ReSharper format: conform inline 'out' parameters. 2019-01-13 21:46:33 +01:00
Erwin de Haan
65bd052f3e ReSharper conform to 'var' settings 2019-01-13 21:37:13 +01:00
Erwin de Haan
e566d9a231 Find+Sed BOM removal *.cs: BDInfo-Emby.XmlTv 2019-01-13 20:54:44 +01:00
Erwin de Haan
c5c7a3c4ee Visual Studio Reformat: Emby.Server.Implementations Part De-H 2019-01-13 20:20:41 +01:00
Erwin de Haan
e2751d42e8 Merge branch 'dev' into code-cleanup 2019-01-11 12:50:36 +01:00
Erwin de Haan
ec1f5dc317 Mayor code cleanup
Add Argument*Exceptions now use proper nameof operators.

Added exception messages to quite a few Argument*Exceptions.

Fixed rethorwing to be proper syntax.

Added a ton of null checkes. (This is only a start, there are about 500 places that need proper null handling)

Added some TODOs to log certain exceptions.

Fix sln again.

Fixed all AssemblyInfo's and added proper copyright (where I could find them)

We live in *current year*.

Fixed the use of braces.

Fixed a ton of properties, and made a fair amount of functions static that should be and can be static.

Made more Methods that should be static static.

You can now use static to find bad functions!

Removed unused variable. And added one more proper XML comment.
2019-01-10 20:38:53 +01:00
hawken
bd169e4fd4 remove trailing whitespace 2019-01-07 23:27:46 +00:00
Bond_009
07a8e49c4b Cleanup some small things 2019-01-06 20:35:36 +01:00
Bond_009
a997bb609f Remove unnecessary using statements 2019-01-05 01:49:52 +03:00
Bond_009
391b48614d Remove FireEventIfNotNull
It's a pretty useless "helper" class
2019-01-05 01:49:52 +03:00
Bond_009
ea4c914123 Fix exception logging 2018-12-30 22:44:39 +01:00
Bond_009
0c1b9d3bff Rebase 2018-12-30 22:44:38 +01:00
Bond_009
b7ebb67cbb Remove the need for NullLogger 2018-12-30 22:44:38 +01:00
Bond_009
0f8b3c6347 Use Microsoft.Extensions.Logging abstraction 2018-12-30 22:44:38 +01:00
Bond_009
ab8df3741d Fixes possible NullReferenceException 2018-12-29 17:26:36 +01:00
Bond_009
6e5d2aadaa Remove custom ToArray extension 2018-12-28 16:48:26 +01:00
Andrew Rabert
a86b71899e Add GPL modules 2018-12-27 18:27:57 -05:00
Andrew Rabert
7c2248727a Remove Emby.Server.Connect 2018-12-10 19:29:51 -05:00
stefan
48facb797e Update to 3.5.2 and .net core 2.1 2018-09-12 19:26:21 +02:00
Luke Pulverenti
9b71812325 update live stream management 2017-10-23 15:14:11 -04:00
Luke Pulverenti
32e89f6deb resolve version changing in now playing display 2017-10-17 15:50:10 -04:00
Luke Pulverenti
e19b8f81c7 update recording conversion 2017-10-07 02:13:26 -04:00
Luke Pulverenti
5d583f42d4 update https redirect 2017-09-30 13:40:42 -04:00
Luke Pulverenti
878abbddda fixes #1427 - [Feature Request]: Require Encryption 2017-09-29 15:17:54 -04:00
Luke Pulverenti
8d4602035f fix for missing response headers 2017-09-28 13:05:10 -04:00
Luke Pulverenti
a0d82a02c8 update param encoding 2017-09-26 13:09:42 -04:00
Luke Pulverenti
768f20b1bb update response headers for HEAD requests 2017-09-24 16:24:12 -04:00
Luke Pulverenti
39394e74c7 fix dlna direct play on samsung tv's 2017-09-23 21:03:46 -04:00
Luke Pulverenti
31b01cbb56 add fixes for dng images 2017-09-22 16:33:01 -04:00
Luke Pulverenti
467f440501 3.2.30.26 2017-09-19 16:08:34 -04:00
Luke Pulverenti
381ea159de update user deletion 2017-09-12 02:27:39 -04:00
Luke Pulverenti
49b799adbe 3.2.30.8 2017-09-05 15:49:02 -04:00
Luke Pulverenti
39c4542cf6 update query objects 2017-09-04 15:28:22 -04:00
Luke Pulverenti
504f56d841 update request classes 2017-09-03 14:38:26 -04:00
Luke Pulverenti
2084678266 update service creation 2017-09-03 03:28:58 -04:00
Luke Pulverenti
e0c1d740a3 update path parsing 2017-09-02 23:17:48 -04:00
Luke Pulverenti
0dbfc21442 update listener host 2017-09-02 22:46:21 -04:00
Luke Pulverenti
78165d78a2 update SocketHttpListener 2017-09-02 22:42:13 -04:00
Luke Pulverenti
da3d8894a8 update aliases 2017-09-02 21:44:02 -04:00
Luke Pulverenti
9d78482358 fix skiasharp reference 2017-09-01 15:24:39 -04:00
Luke Pulverenti
dd9404ebc6 update skiasharp to 1.58.1 2017-08-30 23:49:38 -04:00
Luke Pulverenti
0f23c7cfc1 3.2.30.3 2017-08-30 14:52:29 -04:00
Luke Pulverenti
8de80d43ba update ResolutionNormalizer 2017-08-30 14:06:54 -04:00
Luke Pulverenti
1ad990ad72 update live tv data transfer 2017-08-19 15:43:35 -04:00
Luke Pulverenti
40442f887b consolidate emby.server.core into emby.server.implementations 2017-08-09 15:56:38 -04:00
Luke Pulverenti
4e52c027bc improve nextup queries 2017-08-01 12:45:57 -04:00
Luke Pulverenti
b41614ac81 update request logging 2017-07-22 18:58:03 -04:00
Luke Pulverenti
dab74b9cd1 3.2.25.8 2017-07-18 13:34:56 -04:00
Luke Pulverenti
07b5c6a750 update logging 2017-06-15 13:26:48 -04:00
Luke Pulverenti
ccb5b14d77 update series resolver 2017-06-15 13:22:05 -04:00
Luke Pulverenti
5bfcbd4e9e update dlna profiles 2017-05-31 15:21:32 -04:00
Luke Pulverenti
e456df546c update nlog 2017-05-29 13:31:31 -04:00
Luke Pulverenti
ffb68b0318 update realtime monitor 2017-05-27 03:19:09 -04:00
Luke Pulverenti
33014f77aa update GetItems method 2017-05-26 02:48:54 -04:00
Luke Pulverenti
71f7fc4e11 3.2.17.12 2017-05-24 15:39:59 -04:00
Luke Pulverenti
f07af448fa update main projects 2017-05-24 15:12:55 -04:00
Luke Pulverenti
54cf0da758 update query fields 2017-05-22 00:54:02 -04:00
Luke Pulverenti
198cb1bc9c update file responses 2017-05-09 14:51:26 -04:00
Luke Pulverenti
3a8b567f14 update file responses 2017-05-05 13:55:38 -04:00
Luke Pulverenti
6e4d234212 update directory picker 2017-04-02 00:08:07 -04:00
Luke Pulverenti
f1b1458ee8 3.2.8.6 2017-03-20 13:56:44 -04:00
Luke Pulverenti
38e05b11e2 unify encodng param creation 2017-03-19 14:59:05 -04:00
Luke Pulverenti
b38b7a7062 rework filestream 2017-03-13 00:08:23 -04:00
Luke Pulverenti
a660aa001e re-organize file streaming 2017-03-12 15:27:26 -04:00
Luke Pulverenti
9e74d834a7 update legacy hdhomerun support 2017-03-05 21:32:56 -05:00
Luke Pulverenti
aa290062d6 fix server restart 2017-02-16 02:13:32 -05:00