Coder Social home page Coder Social logo

Comments (3)

klacke avatar klacke commented on May 11, 2024

I asked about this on the erlang list - but no response - from any json hackers.
Anyway - It looked as if this was the right thing - but the link above seems dead.
What shall I do ?

/klacke

from yaws.

TBBle avatar TBBle commented on May 11, 2024

Which link is dead? The JSON-RPC specification link works for me still.

I don't see any way to attach patches to this bug tracker, but my changed code looks like:
encode_handler_payload({response, ErlStruct}, ID, RpcType) ->
StructStr =
case RpcType of
json -> json:encode({struct, [ {result, ErlStruct}, {id, ID}, {error, null}]});
haxe -> [$h, $x, $r | haxe:encode(ErlStruct)]
end,
{ok, StructStr}.

I've also got a patch that allows returning { error, ErlStruct } to fill in the error field in json-rpc or return an exception in haxe (untested). From the look of the yaws_rpc module, soap and soap_dime don't pass through this path.

One further enhancement I might play with is trying to catch exceptions coming out of the rpc call, and turn them into error results, so the really dumb python json-rpc client I'm testing with stops barfing on Yaw's 400 error page when its expecting a JSON-RPC result. ^_^

Would it be useful if I were to fork the project for these changes, or post patches to a mailing list or something?

from yaws.

klacke avatar klacke commented on May 11, 2024

Ok, I applied patch and pushed.
As for more ambitious hacks - by best the far is to git clone the yaws repo and then ask me to pull from your branch,

It's also ok to post patches - I can certainly live with that as well.

Thanks

/klacke

from yaws.

Related Issues (20)

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.