A simple AngularJS plugin for seting up the vendor specific media type for every $http request
npm install angular-vendor-media-type> Angular $http interceptor that sets you vendor specific versioned media type
Install the plugin through bower:
```
bower install angular-vendor-media-type --save
In your Angular module register plugin as module dependency
``
angular.module('app', ['ngVendorMediaType'])
Optionally configure the httpRequestInterceptorVendorMediaTypeProvider by setting the matched request urls,
media types and the vendor information using fluent API:
``
angular.module('app', ['ngVendorMediaType'])
.config(function(httpRequestInterceptorVendorMediaTypeProvider) {
httpRequestInterceptorVendorMediaTypeProvider
.matchingRequests([/.api./])
.matchingMediaTypes(['text/xml', 'application/xml', 'application/json'])
.withVendor({
name: 'vnd',
application: 'appname',
version: '1'
})
});
The extension intercepts any outgoing $http request and transforms the Accept and Content-Type headers media types. `
If your application makes fallowing request:
`
GET /devices
Accept: /,application/json
The Accept header will be transformed into:`
`
GET /devices
Accept: /,application/vnd.appname.v1+json
Note: only the configured media types will be altered, you can use the
httpRequestInterceptorVendorMediaTypeProvider.matchingMediaTypes method for specifying the desired ones.
httpRequestInterceptorVendorMediaTypeProvider defines a set of methods for configuring its behaviour
Defines the list of request url regexes
$3
Default value: ['text/xml', 'application/xml', 'application/json']Defines the list of media types to modify
$3
Default value: nullDefines the vendor information
$3
Default value: falseAllows to pass the version as additional media type parameter i.e.:
application/vnd.appname+json; version=1$3
Default value: false`Disables passing the media type version parameter
For consistency all MIME Type references in object or module naming has been changes into Media Type.
MIT