Coder Social home page Coder Social logo

javacurseapi's People

Contributors

jikuja avatar progwml6 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javacurseapi's Issues

Write Code for SOAP apis

Things to research:

  • Do we need to use the soap login apis(.net binary encoding) as well or will the token data from the REST apis work
  • Enums used in the mod/pack data dump file
  • Hashing data from mod/pack data dump file in java

see https://github.com/progwml6/JavaCurseAPI/tree/soap-experimentation for research into this
along with https://github.com/progwml6/JavaCurseAPI/blob/soap-experimentation/src/main/java/com/feed_the_beast/javacurselib/examples/app_v1/SoapLogin.java

Decide how to use retrofit

Some preliminary experimentation done in: master...jikuja:retrofit

But how to use retrofit? What is cleanest solution or most future-proof solution?

By default retrofit uses Call interface(https://square.github.io/retrofit/2.x/retrofit/retrofit2/Call.html) which can be executed asynchronously with enqueue(Callback<T> callback) or synchronously with execute(). Retrofit also provides service call adapters(https://github.com/square/retrofit/tree/master/retrofit-adapters) for supporting other return values from service calls than Call.

I wrote my experimentation with adapter converting Calls to java 8 CompletableFutures. I experimented both BodyCallAdapter(type 2 in my branch) and ResponseCallAdapter(type in in my branch) by using both synchronous and asynchronous requests. Any feedback: which one is nicer/cleaner/easier to use? (usage examples are in CurseApp.java) or should Call interface be used?

Ps. I will add similar CompletableFuture interface into Websocket.sendMessage() later. Value returned by request will be CONVERSATION_MESSAGE_RESPONSE...

enable throttling for websocket messages

The requests should be held in a queue that releases them as it can
100ms between requests has been known to work for other projects.
I'd like to get that lower if possible

If this doesn't happen some requests will continue to get blocked by the api's throttling system

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.