--- swagger: '2.0' info: version: 1.0.0 title: GeoServer Proxy Base Extension description: A Proxy Base Extension rule allows to rewrite the links returned by the REST API to point to a different host and/or port. This is useful when GeoServer is behind a reverse proxy, and the proxy is configured to rewrite the host and/or port in the request URL. contact: name: GeoServer email: 'geoserver-users@osgeo.org' url: 'https://geoserver.org/comm/' host: localhost:8080 basePath: /geoserver/rest paths: /proxy-base-ext: get: operationId: getProxyBaseExtensionRules summary: Get the Proxy Base Extension rules description: Returns the list of Proxy Base Extension rules. tags: - ProxyBaseExtension produces: - application/xml - application/json responses: 200: description: OK schema: $ref: '#/definitions/Rules' examples: application/xml: | 9d6fc373-f109-4a9c-9417-dbd0bc821ae9 application/json: | {"ProxyBaseExtensionRules":{"ProxyBaseExtensionRule":[ { "id":"9d6fc373-f109-4a9c-9417-dbd0bc821ae9", "href":"http://localhost:8080/geoserver/rest/proxy-base-ext/rules/9d6fc373-f109-4a9c-9417-dbd0bc821ae9.json" } ]}} post: operationId: postProxyBaseExtensionRule summary: Create a Proxy Base Extension rule description: Creates a new Proxy Base Extension rule. tags: - ProxyBaseExtension produces: - application/xml - application/json parameters: - $ref: '#/parameters/ruleBodyParameter' responses: 201: description: Created schema: type: string headers: Location: description: URL where the newly created rule can be found type: string /proxy-base-ext/rules/{id}: get: operationId: getProxyBaseExtensionRule summary: Get a Proxy Base Extension rule description: Returns the Proxy Base Extension rule with the given id. tags: - ProxyBaseExtension produces: - application/xml - application/json parameters: - name: id in: path description: The id of the rule required: true type: string responses: 200: description: OK schema: $ref: '#/definitions/Rule' examples: application/xml: | 9d6fc373-f109-4a9c-9417-dbd0bc821ae9 true 0 http://localhost:8080/geoserver .* application/json: | {"ProxyBaseExtensionRule":{ "id":"9d6fc373-f109-4a9c-9417-dbd0bc821ae9", "activated":true, "position":0, "transformer":"http://localhost:8080/geoserver", "matcher":".*" }} put: operationId: putProxyBaseExtensionRule summary: Update a Proxy Base Extension rule description: Updates the Proxy Base Extension rule with the given id. tags: - ProxyBaseExtension produces: - application/xml - application/json parameters: - name: id in: path description: The id of the rule required: true type: string - $ref: '#/parameters/ruleBodyParameter' consumes: - application/xml - application/json responses: 200: description: The rule was updated delete: operationId: deleteProxyBaseExtensionRule summary: Delete a Proxy Base Extension rule description: Deletes the Proxy Base Extension rule with the given id. tags: - ProxyBaseExtension parameters: - name: id in: path description: The id of the rule required: true type: string responses: 200: description: The rule was deleted parameters: ruleBodyParameter: name: body in: body description: The rule to be created required: true schema: $ref: '#/definitions/Rule' definitions: Rules: title: Rule link list type: array items: title: ruleListItem type: object properties: id: type: string description: Identifeir of the rule link: type: string description: URL to the rule definition Rule: title: Rule type: object properties: id: type: string description: identifier of the rule activated: type: boolean description: Whether or not the Proxy Base Extension rule is active position: type: integer description: The priority of the rule, the lower the number the higher the priority transformer: type: string description: The transformer to be used to rewrite the links matcher: type: string description: The path matcher to be used to match the links for rewriting, works with regular expressions