Make a variant of the Go code generator which generates signatures of the form:
Verb(context, RequestArgumentStruct) (ResponseStruct, error)
(no response object)
Verb(context, RequestArgumentStruct) error
Where all arguments are fields on the request struct.
This would enable the Client and server Handler forms to be merged, possibly eliminate the rdl.Context in favor of the the Go context (with helpers to read/write the RDL-specific attributes), and mean that adding new optional parameters does not change the signature of handlers and clients.
Make a variant of the Go code generator which generates signatures of the form:
Verb(context, RequestArgumentStruct) (ResponseStruct, error) (no response object) Verb(context, RequestArgumentStruct) error
Where all arguments are fields on the request struct.
This would enable the Client and server Handler forms to be merged, possibly eliminate the rdl.Context in favor of the the Go context (with helpers to read/write the RDL-specific attributes), and mean that adding new optional parameters does not change the signature of handlers and clients.