Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First-class resource config and service config #562

Closed
jclark opened this issue Jun 30, 2020 · 1 comment
Closed

First-class resource config and service config #562

jclark opened this issue Jun 30, 2020 · 1 comment
Assignees
Labels
Area/Lang Relates to the Ballerina language specification incompatible Resolving issue may not be backwards compatible

Comments

@jclark
Copy link
Collaborator

jclark commented Jun 30, 2020

Currently resource config and service config are expressed using annotations. It would be better if at least some of these annotations were expressed in the language in a more first-class way. In most cases, the Listener type determines the possible resource and service config, but the use of annotations prevents the type system from describing this relationship.

It's also conceptually wrong: the config is data that is fundamental to the operation of the program and not the sort of thing that should require the use of an annotation. Service and resource config expresses many things that on the client side are not expressed via annotations.

This relates to #329, #559, #519.

@jclark jclark added Area/Lang Relates to the Ballerina language specification incompatible Resolving issue may not be backwards compatible labels Jun 30, 2020
@jclark jclark self-assigned this Jun 30, 2020
@jclark jclark added this to the Swan Lake September preview milestone Aug 6, 2020
@jclark
Copy link
Collaborator Author

jclark commented Sep 26, 2020

The new concept for resource functions deals with HTTP methods and paths in a first-class way, thus eliminating allowing one of the main uses of service and resource config to be dealt with in a first-class way.

#559 allows objects to have fields, which is sufficient to represent service config in a first-class way, although #595 might be needed to make it convenient.

We do not plan to do anything further on this beyond the above points.

@jclark jclark closed this as completed Sep 26, 2020
@jclark jclark removed this from the Swan Lake September preview milestone Sep 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area/Lang Relates to the Ballerina language specification incompatible Resolving issue may not be backwards compatible
Projects
None yet
Development

No branches or pull requests

1 participant