Nikey646 / VndbSharp

A C# Vndb API Library. #OriginalNamingScheme
MIT License
18 stars 4 forks source link

[Feature Suggestion] Have VndbSharp split into two binaries #9

Closed micah686 closed 7 years ago

micah686 commented 7 years ago

What do you think about having the VndbSharp project split into two different binaries? I was thinking there could be VndbSharpCore, which just had the main part of the API features, no get/set commands, no filters, no error response,... It would only allow a programmer connect to the API, and the programmer would have to deal with managing the responses manually. This could be used if only a single command needed to be used for a project, and someone didn't need all of the features of the library.

========================================================= On a separate note, what did you have in mind for ".Net Core / .Net Standard support"? I would like to know, so I could try to work on implementing changes.

Nikey646 commented 7 years ago

Is there any benefit to this? I mean if you really want a skinned down variation of the client, you can always take the Login command and call it a day, because that is the bulk of the work done. Would just need to replace the various helper commands such as writing to a stream or getting the bytes of a response (and appending that cursed 0x04 character!)

If you are just looking for a way to bypass all of the type safety, i believe VndbClient.DoRawAsync should provide that for the most part (right down to the errors being raw json even)

In regards to .Net Core / .Net Standard support, i plan on reworking quite a bit of the clutter, in hopes to clean up entire library. I'm not really happy with the way i initially set it up, and want to try and rework it all, which i was planning on doing when i switched the project to .Net Core, but i've been distracted by personal projects.

Feature wise, i don't believe there is any thing more that the library can do, since as of the last time i checked the api documentation, it had all the filters, commands, and flags supported, even down to the votes dump (which seems absurdly useless!)

micah686 commented 7 years ago

Ok, I guess if anyone needed a slim version of VndbSharp, they could just compile it themselves, instead of offering 2 binaries. Just wanted your opinion on that.

Well, I'd be happy to do my best to help out with reworking VndbSharp when you get around to it.

Also, regarding Mono/.Net Core: If you checked the pull request, I found that .Net Core's of SecureString is mostly secure on UNIX, but since the API requires plaintext passwords, there really is no benefit to attempt to use the encryption of Secure String. But, I'm guessing you are not implementing the pull request yet, since you are planning on reworking the library.