Comments (4)
Yep, agree with a lot of these points.
Use .NET built-in HTTP compression
What do you mean by this? Some implementations of HttpMessageHandler support compression automatically which is used. If the given MessageHandler implementation doesn't, we fallback to providing it ourselves.
Add server-side Exception checking to all (GET, POST, DELETE) requests
What are you proposing here?
Remove internal interfaces which has only one implementation
I think only API objects are exposed have public interfaces. I'll need to review this a bit more.
from e.deezer.
Use .NET built-in HTTP compression
Sorry, probably i wasn't completly clear. I found this SO answer to signal the server that this wrapper can understand gzip, deflate response.
Relevant code:
E.Deezer/E.Deezer/ExecutorService.cs
Lines 176 to 177 in b2de544
and
E.Deezer/E.Deezer/ExecutorService.cs
Lines 196 to 219 in b2de544
Add server-side Exception checking to all (GET, POST, DELETE) requests
For example the
E.Deezer/E.Deezer/DeezerClient.cs
Line 144 in b2de544
method only checks (if i remember correctly) for HTTP status errors, and not inside the json response which could contain the error property. Yes, there is the
GetPlainWithError
method but probably this is a bit redundant in my opinion because i would probably check every server json response for any Exception.
Remove internal interfaces which has only one implementation
For example the IDeezerClient
is an internal interface.
from e.deezer.
WRT your first point: The library allows you to pass an instance of the MessageHandler
. if you are writing a Xamarin app for example, you can pass in the native NSUrlSessionHandler
on Mac and iOS which allows you take advantage of the features of that platform. Each handler works differently and the default way works by stripping the content type headers if the handler has handled the compression.
It tries to let .NET do as much as possible before falling back to the library handling the decompression.
Add server-side Exception checking to all (GET, POST, DELETE) requests
This really should be done! :)
from e.deezer.
@projectgoav i am finished with the refactoring.
from e.deezer.
Related Issues (20)
- Query if Favourited
- The UserEndpoint doesn't work well. HOT 6
- Unfortunately, it still does not work for me. :-(
- Convert project to target .net standard HOT 5
- Get playlist, artist, track and user by id HOT 7
- Stuck at getPlaylistById HOT 5
- Missing API errors / Exceptions mapped
- Radio -> `GetByGenre` invalid format HOT 1
- Negative GenreId can throw exception HOT 1
- Getting this error when im searching album name HOT 3
- Error when create new playlist HOT 2
- Comment listing without API key returns less data
- TimeAdd is processed wrong way HOT 4
- Release date return all time same value HOT 1
- track RealeaseDate HOT 5
- User/Playlists mixed response
- Getting the last track HOT 6
- DeezerSession does not have a "CreateNew()" method HOT 2
- playlist id longer than uint HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from e.deezer.