Comments (3)
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.
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.
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)
- Support for a deterministic build option HOT 8
- Question: any kind of support for OAuth2? HOT 2
- Is there any plan to add QUIC support? HOT 1
- tlsv1.3-only server HOT 6
- tlsv1.3 cipher selection HOT 3
- Yaws assumes `error_logger` process always exists and it is a gen_event HOT 7
- Support reproducible builds HOT 5
- JSON-RPC payloads don't need urldecode step HOT 1
- Failed to compile 2.1.1 with Erl22, but 2.1.0 worked HOT 1
- Error on launch application Yaws HOT 4
- Crash Yaws after running HOT 2
- when reconfiguring, no check for changed appmods is done HOT 3
- yaws in NixOS 22.05 for aarch64 gives error during system build HOT 2
- Fail when make install and deterministic build is enabled HOT 3
- build breaks with OTP 27 HOT 2
- Error on building Yaws on Manjaro Linux on Erlang OTP-27 HOT 1
- failed to install qt5
- Do not make fatal inaccessible log file HOT 9
- Can't start Yaws web server on Ubuntu 22 HOT 2
- yaws_config.erl:3563:20: file:pid2name/1 is deprecated and will be removed in OTP 27 HOT 2
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 yaws.