Tevo45 / juniper

A macro-based swagger binding generator for Common Lisp
MIT License
2 stars 2 forks source link

Handle `"in" : "path"` parameters #2

Closed dieggsy closed 3 years ago

dieggsy commented 3 years ago

Hi, me again - so I guess the spec allows for parameters that have to be substituted into the url path (see { ... parameters: { ... character_id: { ... "in" : "path" ... } ... } at https://esi.evetech.net/_latest/swagger.json).

So e.g. the generated URL for the procedure get-characters-character-id-skillqueue would have to do regex replacement (or similar) on {character-id} in the URL path.

Again - no pressure, this is purely a leisurely activity for me heh. I may even take a look at the code myself if I get the time.

Tevo45 commented 3 years ago

Hmm, It should already handle parameters in path; that's one of the reasons for the cl-ppcre dependency in generated code (see https://github.com/Tevo45/juniper/blob/master/juniper.lisp#L92, hopefully not too messy). It should also warn about unsupported parameter "places" during macroexpansion, did it somehow warn that it can't handle parameters in path? Or did it fail in replacing the field in the url somehow?

dieggsy commented 3 years ago

@Tevo45 no, you're right... I just missed it in the generated sources, sorry about that! I was getting some unexpected hanging and thought it might be related to this but clearly that's not the case and I'll have to investigate further... thanks!