Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@typespec/rest
Advanced tools
TypeSpec REST protocol binding
npm install @typespec/rest
@action
@actionSeparator
@autoRoute
@collectionAction
@copyResourceKeyParameters
@createsOrReplacesResource
@createsOrUpdatesResource
@createsResource
@deletesResource
@listsResource
@parentResource
@readsResource
@resource
@segment
@segmentOf
@updatesResource
@action
Specify this operation is an action. (Scoped to a resource item /pets/{petId}/my-action)
@TypeSpec.Rest.action(name?: valueof string)
Operation
Name | Type | Description |
---|---|---|
name | valueof string | Name of the action. If not specified, the name of the operation will be used. |
@actionSeparator
Defines the separator string that is inserted before the action name in auto-generated routes for actions.
@TypeSpec.Rest.actionSeparator(seperator: valueof "/" | ":" | "/:")
Model | ModelProperty | Operation
Name | Type | Description |
---|---|---|
seperator | valueof "/" | ":" | "/:" | Seperator seperating the action segment from the rest of the url |
@autoRoute
This interface or operation should resolve its route automatically. To be used with resource types where the route segments area defined on the models.
@TypeSpec.Rest.autoRoute
Interface | Operation
None
@autoRoute
interface Pets {
get(@segment("pets") @path id: string): void; //-> route: /pets/{id}
}
@collectionAction
Specify this operation is a collection action. (Scopped to a resource, /pets/my-action)
@TypeSpec.Rest.collectionAction(resourceType: Model, name?: valueof string)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
name | valueof string | Name of the action. If not specified, the name of the operation will be used. |
@copyResourceKeyParameters
Copy the resource key parameters on the model
@TypeSpec.Rest.copyResourceKeyParameters(filter?: valueof string)
Model
Name | Type | Description |
---|---|---|
filter | valueof string | Filter to exclude certain properties. |
@createsOrReplacesResource
Specify that this is a CreateOrReplace operation for a given resource.
@TypeSpec.Rest.createsOrReplacesResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@createsOrUpdatesResource
Specify that this is a CreatesOrUpdate operation for a given resource.
@TypeSpec.Rest.createsOrUpdatesResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@createsResource
Specify that this is a Create operation for a given resource.
@TypeSpec.Rest.createsResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@deletesResource
Specify that this is a Delete operation for a given resource.
@TypeSpec.Rest.deletesResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@listsResource
Specify that this is a List operation for a given resource.
@TypeSpec.Rest.listsResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@parentResource
Mark model as a child of the given parent resource.
@TypeSpec.Rest.parentResource(parent: Model)
Model
Name | Type | Description |
---|---|---|
parent | Model | Parent model. |
@readsResource
Specify that this is a Read operation for a given resource.
@TypeSpec.Rest.readsResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
@resource
Mark this model as a resource type with a name.
@TypeSpec.Rest.resource(collectionName: valueof string)
Model
Name | Type | Description |
---|---|---|
collectionName | valueof string | type's collection name |
@segment
Defines the preceding path segment for a
@TypeSpec.Rest.segment(name: valueof string)
Model | ModelProperty | Operation
Name | Type | Description |
---|---|---|
name | valueof string | Segment that will be inserted into the operation route before the path parameter's name field. |
@segmentOf
Returns the URL segment of a given model if it has @segment
and @key
decorator.
@TypeSpec.Rest.segmentOf(type: Model)
Operation
Name | Type | Description |
---|---|---|
type | Model | Target model |
@updatesResource
Specify that this is a Update operation for a given resource.
@TypeSpec.Rest.updatesResource(resourceType: Model)
Operation
Name | Type | Description |
---|---|---|
resourceType | Model | Resource marked with |
FAQs
TypeSpec REST protocol binding
We found that @typespec/rest demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.