GithubHelp home page GithubHelp logo

Help with a strange API about anterofit HOT 4 OPEN

abonander avatar abonander commented on August 30, 2024
Help with a strange API

from anterofit.

Comments (4)

abonander avatar abonander commented on August 30, 2024 1

Then you would use anterofit::net::RawResponse as your service method return type:

fn create_comment_by_url(&self, link: &str, subject: &str, content: &str) -> RawResponse {
    POST("{}", link);
    fields! { 
        "ws.op" => "createComment",
        "subject" => subject,
        "content" => content
    }
}

and then the response containing the headers is within.

If you have a type to decode and you also want to inspect the response, you can use anterofit::net::response::WithRaw, or anterofit::net::response::TryWithRaw if you want to inspect the response even if there was an error decoding the body.

from anterofit.

abonander avatar abonander commented on August 30, 2024

However, if you want to abstract over this within the service definition alone, I don't really have anything for that yet. I've been conceptualizing a sort of map_response!{} macro, but I don't have a prototype for that yet.

from anterofit.

SirVer avatar SirVer commented on August 30, 2024

Thanks for your comments, that is really helpful. An example would have helped in the code base, since the WithRaw types are hard to find in the docs.

I take your last comment that you mean that a wrapper class to abstract the service a bit more idiomatic is required to hide the WithRaw handling. I agree it would be nice if such a wrapper was not needed, but frankly most returns from Web apis will require some sort of higher level abstraction anyways, so it does not hurt a lot.

from anterofit.

abonander avatar abonander commented on August 30, 2024

The goal is to be able to abstract a lot of the weirdness inside the service definition but I'm not completely sure how I want to do that.

from anterofit.

Related Issues (14)

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.