MapProxy 2.2.0__tar.gz → 3.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. {MapProxy-2.2.0 → MapProxy-3.0.1}/CHANGES.txt +32 -0
  2. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/PKG-INFO +33 -48
  3. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/SOURCES.txt +1 -0
  4. {MapProxy-2.2.0 → MapProxy-3.0.1}/PKG-INFO +33 -48
  5. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/caches.rst +1 -1
  6. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/configuration.rst +10 -10
  7. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/loader.py +2 -3
  8. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/mapproxy.yaml +1 -1
  9. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/exception.py +39 -3
  10. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/demo.py +2 -2
  11. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/ows.py +20 -2
  12. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/demo.html +2 -2
  13. MapProxy-3.0.1/mapproxy/service/templates/ows_exception.xml +10 -0
  14. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seed.yaml +7 -2
  15. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_demo.py +2 -2
  16. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_demo_with_extra_service.py +2 -2
  17. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_legendgraphic.py +6 -6
  18. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_renderd_client.py +3 -3
  19. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_response_headers.py +1 -1
  20. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_seed.py +16 -3
  21. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_source_errors.py +4 -4
  22. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wms.py +31 -31
  23. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wmsc.py +3 -3
  24. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_client.py +5 -0
  25. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_exceptions.py +86 -0
  26. {MapProxy-2.2.0 → MapProxy-3.0.1}/requirements-tests.txt +15 -15
  27. {MapProxy-2.2.0 → MapProxy-3.0.1}/setup.py +1 -1
  28. {MapProxy-2.2.0 → MapProxy-3.0.1}/AUTHORS.txt +0 -0
  29. {MapProxy-2.2.0 → MapProxy-3.0.1}/COPYING.txt +0 -0
  30. {MapProxy-2.2.0 → MapProxy-3.0.1}/LICENSE.txt +0 -0
  31. {MapProxy-2.2.0 → MapProxy-3.0.1}/MANIFEST.in +0 -0
  32. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/dependency_links.txt +0 -0
  33. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/entry_points.txt +0 -0
  34. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/not-zip-safe +0 -0
  35. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/requires.txt +0 -0
  36. {MapProxy-2.2.0 → MapProxy-3.0.1}/MapProxy.egg-info/top_level.txt +0 -0
  37. {MapProxy-2.2.0 → MapProxy-3.0.1}/README.md +0 -0
  38. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/GM.txt +0 -0
  39. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/_static/logo.png +0 -0
  40. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/_static/logo_title.png +0 -0
  41. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/_static/mapproxy.css +0 -0
  42. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/_templates/versions.html +0 -0
  43. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/auth.rst +0 -0
  44. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/caching_layer_dimensions.rst +0 -0
  45. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/conf.py +0 -0
  46. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/configuration_examples.rst +0 -0
  47. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/coverages.rst +0 -0
  48. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/decorate_img.rst +0 -0
  49. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/deployment.rst +0 -0
  50. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/development.rst +0 -0
  51. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/bicubic.png +0 -0
  52. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/bilinear.png +0 -0
  53. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-dynamic.png +0 -0
  54. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-meta-buffer.png +0 -0
  55. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  56. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-metatiling.png +0 -0
  57. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-no-clip.png +0 -0
  58. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-no-placement.png +0 -0
  59. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-partial-false.png +0 -0
  60. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/labeling-repeated.png +0 -0
  61. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  62. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/mapnik-webmerc.png +0 -0
  63. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/mapproxy-demo.png +0 -0
  64. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/imgs/nearest.png +0 -0
  65. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/index.rst +0 -0
  66. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/inspire.rst +0 -0
  67. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/install.rst +0 -0
  68. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/install_docker.rst +0 -0
  69. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/install_osgeo4w.rst +0 -0
  70. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/install_windows.rst +0 -0
  71. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/labeling.rst +0 -0
  72. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/mapproxy_util.rst +0 -0
  73. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/mapproxy_util_autoconfig.rst +0 -0
  74. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/plugins.rst +0 -0
  75. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/seed.rst +0 -0
  76. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/services.rst +0 -0
  77. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/sources.rst +0 -0
  78. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/tutorial.rst +0 -0
  79. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/tutorial.yaml +0 -0
  80. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/cache_conf.yaml +0 -0
  81. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/grid_conf.yaml +0 -0
  82. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/merged_conf.yaml +0 -0
  83. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/meta_conf.yaml +0 -0
  84. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/seed.yaml +0 -0
  85. {MapProxy-2.2.0 → MapProxy-3.0.1}/doc/yaml/simple_conf.yaml +0 -0
  86. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/__init__.py +0 -0
  87. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/__init__.py +0 -0
  88. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/azureblob.py +0 -0
  89. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/base.py +0 -0
  90. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/compact.py +0 -0
  91. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/couchdb.py +0 -0
  92. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/dummy.py +0 -0
  93. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/file.py +0 -0
  94. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/geopackage.py +0 -0
  95. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/legend.py +0 -0
  96. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/mbtiles.py +0 -0
  97. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/meta.py +0 -0
  98. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/path.py +0 -0
  99. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/redis.py +0 -0
  100. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/renderd.py +0 -0
  101. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/riak.py +0 -0
  102. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/s3.py +0 -0
  103. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/cache/tile.py +0 -0
  104. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/__init__.py +0 -0
  105. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/arcgis.py +0 -0
  106. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/cgi.py +0 -0
  107. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/http.py +0 -0
  108. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/log.py +0 -0
  109. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/tile.py +0 -0
  110. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/client/wms.py +0 -0
  111. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/compat/__init__.py +0 -0
  112. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/compat/image.py +0 -0
  113. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/__init__.py +0 -0
  114. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/config-schema.json +0 -0
  115. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/config.py +0 -0
  116. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/coverage.py +0 -0
  117. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/defaults.py +0 -0
  118. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/spec.py +0 -0
  119. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config/validator.py +0 -0
  120. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/__init__.py +0 -0
  121. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/config.wsgi +0 -0
  122. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  123. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  124. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/log.ini +0 -0
  125. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/config_template/base_config/seed.yaml +0 -0
  126. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/featureinfo.py +0 -0
  127. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/grid.py +0 -0
  128. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/__init__.py +0 -0
  129. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  130. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  131. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/fonts/LICENSE +0 -0
  132. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/fonts/__init__.py +0 -0
  133. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/mask.py +0 -0
  134. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/merge.py +0 -0
  135. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/message.py +0 -0
  136. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/opts.py +0 -0
  137. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/tile.py +0 -0
  138. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/image/transform.py +0 -0
  139. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/layer.py +0 -0
  140. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/multiapp.py +0 -0
  141. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/proj.py +0 -0
  142. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/__init__.py +0 -0
  143. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/arcgis.py +0 -0
  144. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/base.py +0 -0
  145. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/tile.py +0 -0
  146. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/wms/__init__.py +0 -0
  147. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/wms/exception.py +0 -0
  148. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/request/wmts.py +0 -0
  149. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/response.py +0 -0
  150. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/__init__.py +0 -0
  151. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/__init__.py +0 -0
  152. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/app.py +0 -0
  153. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/caches.py +0 -0
  154. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/geopackage.py +0 -0
  155. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/layers.py +0 -0
  156. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/seeds.py +0 -0
  157. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/sources.py +0 -0
  158. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/conf/utils.py +0 -0
  159. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/defrag.py +0 -0
  160. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/export.py +0 -0
  161. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/grids.py +0 -0
  162. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/scales.py +0 -0
  163. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/util.py +0 -0
  164. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/script/wms_capabilities.py +0 -0
  165. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/__init__.py +0 -0
  166. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/cachelock.py +0 -0
  167. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/cleanup.py +0 -0
  168. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/config.py +0 -0
  169. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/script.py +0 -0
  170. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/seeder.py +0 -0
  171. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/spec.py +0 -0
  172. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/seed/util.py +0 -0
  173. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/__init__.py +0 -0
  174. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/base.py +0 -0
  175. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/kml.py +0 -0
  176. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/template_helper.py +0 -0
  177. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
  178. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  179. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  180. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  181. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  182. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  183. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  184. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  185. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  186. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  187. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/logo.png +0 -0
  188. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/ol.css +0 -0
  189. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/ol.js +0 -0
  190. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  191. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  192. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/site.css +0 -0
  193. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  194. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  195. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  196. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  197. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/static.html +0 -0
  198. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  199. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  200. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  201. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  202. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/tms_exception.xml +0 -0
  203. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  204. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  205. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  206. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms100exception.xml +0 -0
  207. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  208. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms110exception.xml +0 -0
  209. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  210. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms111exception.xml +0 -0
  211. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  212. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wms130exception.xml +0 -0
  213. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  214. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/templates/wmts100exception.xml +0 -0
  215. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/tile.py +0 -0
  216. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/wms.py +0 -0
  217. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/service/wmts.py +0 -0
  218. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/__init__.py +0 -0
  219. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/arcgis.py +0 -0
  220. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/error.py +0 -0
  221. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/mapnik.py +0 -0
  222. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/tile.py +0 -0
  223. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/source/wms.py +0 -0
  224. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/srs.py +0 -0
  225. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/template.py +0 -0
  226. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/__init__.py +0 -0
  227. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/conftest.py +0 -0
  228. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/helper.py +0 -0
  229. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/http.py +0 -0
  230. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/image.py +0 -0
  231. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/mocker.py +0 -0
  232. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  233. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  234. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  235. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  236. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  237. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  238. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  239. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  240. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  241. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  242. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  243. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  244. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  245. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  246. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  247. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  248. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  249. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  250. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  251. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  252. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  253. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  254. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  255. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  256. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  257. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  258. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  259. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  260. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  261. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  262. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  263. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  264. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  265. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  266. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  267. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  268. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  269. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  270. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  271. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  272. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  273. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  274. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  275. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  276. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  277. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  278. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  279. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  280. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  281. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  282. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  283. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  284. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  285. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  286. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  287. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  288. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  289. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  290. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  291. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  292. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  293. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  294. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  295. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  296. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  297. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  298. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  299. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  300. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  301. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  302. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  303. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  304. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  305. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  306. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  307. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  308. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  309. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  310. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  311. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  312. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  313. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  314. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  315. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  316. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  317. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  318. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  319. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/schemas/xml.xsd +0 -0
  320. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/__init__.py +0 -0
  321. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  322. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/auth.yaml +0 -0
  323. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  324. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  325. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  326. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  327. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  328. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  329. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  330. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  331. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  332. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  333. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  334. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  335. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  336. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  337. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  338. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/demo.yaml +0 -0
  339. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  340. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  341. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  342. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/formats.yaml +0 -0
  343. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  344. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  345. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  346. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/layer.yaml +0 -0
  347. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  348. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  349. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  350. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  351. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  352. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  353. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  354. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  355. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  356. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  357. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  358. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  359. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  360. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  361. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
  362. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  363. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  364. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  365. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/sld.yaml +0 -0
  366. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  367. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  368. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  369. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  370. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  371. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  372. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  373. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  374. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
  375. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  376. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  377. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  378. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  379. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  380. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  381. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  382. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  383. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  384. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  385. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_arcgis.py +0 -0
  386. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_auth.py +0 -0
  387. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_behind_proxy.py +0 -0
  388. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  389. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_azureblob.py +0 -0
  390. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  391. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_coverage.py +0 -0
  392. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  393. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  394. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  395. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_s3.py +0 -0
  396. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_cache_source.py +0 -0
  397. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_combined_sources.py +0 -0
  398. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_coverage.py +0 -0
  399. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_decorate_img.py +0 -0
  400. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_dimensions.py +0 -0
  401. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_disable_storage.py +0 -0
  402. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_formats.py +0 -0
  403. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_inspire_vs.py +0 -0
  404. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_kml.py +0 -0
  405. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_layergroups.py +0 -0
  406. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_mapnik.py +0 -0
  407. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_mapserver.py +0 -0
  408. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  409. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  410. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_multiapp.py +0 -0
  411. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_refresh.py +0 -0
  412. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_scalehints.py +0 -0
  413. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_seed_only.py +0 -0
  414. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_sld.py +0 -0
  415. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  416. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_tms.py +0 -0
  417. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_tms_origin.py +0 -0
  418. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_util_conf.py +0 -0
  419. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_util_export.py +0 -0
  420. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_util_grids.py +0 -0
  421. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  422. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_watermark.py +0 -0
  423. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  424. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wms_version.py +0 -0
  425. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wmts.py +0 -0
  426. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  427. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_wmts_restful.py +0 -0
  428. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  429. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/test_http_helper.py +0 -0
  430. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/__init__.py +0 -0
  431. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/epsg +0 -0
  432. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  433. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  434. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  435. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_async.py +0 -0
  436. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_auth.py +0 -0
  437. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache.py +0 -0
  438. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
  439. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_compact.py +0 -0
  440. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
  441. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
  442. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_redis.py +0 -0
  443. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_riak.py +0 -0
  444. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_s3.py +0 -0
  445. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_cache_tile.py +0 -0
  446. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_client_arcgis.py +0 -0
  447. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_client_cgi.py +0 -0
  448. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_collections.py +0 -0
  449. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_concat_legends.py +0 -0
  450. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_conf_loader.py +0 -0
  451. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_conf_validator.py +0 -0
  452. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_config.py +0 -0
  453. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_decorate_img.py +0 -0
  454. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_featureinfo.py +0 -0
  455. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_file_lock_load.py +0 -0
  456. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_geom.py +0 -0
  457. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_grid.py +0 -0
  458. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_image.py +0 -0
  459. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_image_mask.py +0 -0
  460. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_image_messages.py +0 -0
  461. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_image_options.py +0 -0
  462. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_isodate.py +0 -0
  463. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_multiapp.py +0 -0
  464. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  465. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_request.py +0 -0
  466. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_request_wmts.py +0 -0
  467. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_response.py +0 -0
  468. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_seed.py +0 -0
  469. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
  470. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_srs.py +0 -0
  471. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_tiled_source.py +0 -0
  472. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_tilefilter.py +0 -0
  473. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_times.py +0 -0
  474. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_timeutils.py +0 -0
  475. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  476. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_utils.py +0 -0
  477. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
  478. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_wms_layer.py +0 -0
  479. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/test/unit/test_yaml.py +0 -0
  480. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/tilefilter.py +0 -0
  481. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/__init__.py +0 -0
  482. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/async_.py +0 -0
  483. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/collections.py +0 -0
  484. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/coverage.py +0 -0
  485. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/__init__.py +0 -0
  486. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  487. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/dictspec/spec.py +0 -0
  488. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  489. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  490. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/dictspec/validator.py +0 -0
  491. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/local.py +0 -0
  492. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/lockfile.py +0 -0
  493. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/odict.py +0 -0
  494. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/serving.py +0 -0
  495. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/tempita/__init__.py +0 -0
  496. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/tempita/_looper.py +0 -0
  497. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  498. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  499. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  500. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  501. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  502. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  503. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  504. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  505. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  506. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  507. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  508. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ext/wmsparse/util.py +0 -0
  509. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/fs.py +0 -0
  510. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/geom.py +0 -0
  511. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/lib.py +0 -0
  512. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/lock.py +0 -0
  513. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/ogr.py +0 -0
  514. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/py.py +0 -0
  515. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/times.py +0 -0
  516. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/util/yaml.py +0 -0
  517. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/version.py +0 -0
  518. {MapProxy-2.2.0 → MapProxy-3.0.1}/mapproxy/wsgiapp.py +0 -0
  519. {MapProxy-2.2.0 → MapProxy-3.0.1}/setup.cfg +0 -0
@@ -1,3 +1,35 @@
1
+ 3.0.1 2024-08-27
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Fixes:
5
+
6
+ - Fix capabilities links in demo page and config template
7
+ - Trivy report format
8
+
9
+
10
+ 3.0.0 2024-08-27
11
+ ~~~~~~~~~~~~~~~~
12
+
13
+ Breaking:
14
+
15
+ - Add proper XML Exception when service parameter disabled / invalid or missing
16
+ In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
17
+ GetCapabilities requests. With this change, an OGC exception will be returned instead.
18
+ Invalid service types now also return a proper exception instead of an `internal error`.
19
+ Besides, the status code of exception responses now have a 400 or 500 code instead of 200
20
+ for better conformity.
21
+
22
+ Maintenance:
23
+
24
+ - Add test for seeding sqlite cache
25
+ - Documentation updates and clarifications
26
+ - Dependency updates
27
+
28
+ Fixes:
29
+
30
+ - Fix gh-pages workflow
31
+
32
+
1
33
  2.2.0 2024-07-24
2
34
  ~~~~~~~~~~~~~~~~
3
35
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MapProxy
3
- Version: 2.2.0
3
+ Version: 3.0.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -34,6 +34,38 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
34
34
 
35
35
  Changes
36
36
  -------
37
+ 3.0.1 2024-08-27
38
+ ~~~~~~~~~~~~~~~~
39
+
40
+ Fixes:
41
+
42
+ - Fix capabilities links in demo page and config template
43
+ - Trivy report format
44
+
45
+
46
+ 3.0.0 2024-08-27
47
+ ~~~~~~~~~~~~~~~~
48
+
49
+ Breaking:
50
+
51
+ - Add proper XML Exception when service parameter disabled / invalid or missing
52
+ In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
53
+ GetCapabilities requests. With this change, an OGC exception will be returned instead.
54
+ Invalid service types now also return a proper exception instead of an `internal error`.
55
+ Besides, the status code of exception responses now have a 400 or 500 code instead of 200
56
+ for better conformity.
57
+
58
+ Maintenance:
59
+
60
+ - Add test for seeding sqlite cache
61
+ - Documentation updates and clarifications
62
+ - Dependency updates
63
+
64
+ Fixes:
65
+
66
+ - Fix gh-pages workflow
67
+
68
+
37
69
  2.2.0 2024-07-24
38
70
  ~~~~~~~~~~~~~~~~
39
71
 
@@ -114,53 +146,6 @@ Fixes:
114
146
  - Fix mixed image format for file, S3 and azureblob caches
115
147
 
116
148
 
117
- 2.0.0 2023-12-19
118
- ~~~~~~~~~~~~~~~~~
119
- Breaking:
120
-
121
- - Removal of old unsupported python versions 3.7
122
- - Tested python version range is now 3.8 to 3.11
123
- - Lots of dependency updates
124
-
125
- Improvements:
126
-
127
- - Add S3 performance option to request via urllib2
128
- - Allow md5 calls to work in FIPS environments
129
- - Several Redis Cache enhancements
130
- - Coverage support for caches
131
-
132
- Fixes:
133
-
134
- - Configure image options for caches (fixes erratically white tiles when requesting multiple cached layers)
135
- - Fix for Legends in JSON Format
136
- - Some more minor fixups
137
-
138
-
139
- 1.16.0 2023-04-13
140
- ~~~~~~~~~~~~~~~~~
141
- Breaking:
142
-
143
- - Removal of old unsupported python versions 2.7 and 3.6
144
- - Tested python version range is now 3.7 to 3.11
145
- - Lots of dependency updates
146
-
147
- Improvements:
148
-
149
- - New cache: Azure Blob storage
150
- - Lots of dependency updates
151
- - Support for JSON legends
152
- - Updated layer preview to use latest openlayers
153
- - Official docker images released, documentation updated
154
-
155
- Fixes:
156
-
157
- - Fixed issues with sqlite cache (#629 and #625)
158
- - Dependency correction
159
- - library detection difficulties on some operating systems
160
- - encoding issues with umlauts in featureinfo
161
- - Several minor bugfixes
162
- - mapproxy-util export - derive image format from cache config
163
-
164
149
 
165
150
  Older changes
166
151
  -------------
@@ -167,6 +167,7 @@ mapproxy/service/template_helper.py
167
167
  mapproxy/service/tile.py
168
168
  mapproxy/service/wms.py
169
169
  mapproxy/service/wmts.py
170
+ mapproxy/service/templates/ows_exception.xml
170
171
  mapproxy/service/templates/tms_capabilities.xml
171
172
  mapproxy/service/templates/tms_exception.xml
172
173
  mapproxy/service/templates/tms_root_resource.xml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MapProxy
3
- Version: 2.2.0
3
+ Version: 3.0.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -34,6 +34,38 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
34
34
 
35
35
  Changes
36
36
  -------
37
+ 3.0.1 2024-08-27
38
+ ~~~~~~~~~~~~~~~~
39
+
40
+ Fixes:
41
+
42
+ - Fix capabilities links in demo page and config template
43
+ - Trivy report format
44
+
45
+
46
+ 3.0.0 2024-08-27
47
+ ~~~~~~~~~~~~~~~~
48
+
49
+ Breaking:
50
+
51
+ - Add proper XML Exception when service parameter disabled / invalid or missing
52
+ In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
53
+ GetCapabilities requests. With this change, an OGC exception will be returned instead.
54
+ Invalid service types now also return a proper exception instead of an `internal error`.
55
+ Besides, the status code of exception responses now have a 400 or 500 code instead of 200
56
+ for better conformity.
57
+
58
+ Maintenance:
59
+
60
+ - Add test for seeding sqlite cache
61
+ - Documentation updates and clarifications
62
+ - Dependency updates
63
+
64
+ Fixes:
65
+
66
+ - Fix gh-pages workflow
67
+
68
+
37
69
  2.2.0 2024-07-24
38
70
  ~~~~~~~~~~~~~~~~
39
71
 
@@ -114,53 +146,6 @@ Fixes:
114
146
  - Fix mixed image format for file, S3 and azureblob caches
115
147
 
116
148
 
117
- 2.0.0 2023-12-19
118
- ~~~~~~~~~~~~~~~~~
119
- Breaking:
120
-
121
- - Removal of old unsupported python versions 3.7
122
- - Tested python version range is now 3.8 to 3.11
123
- - Lots of dependency updates
124
-
125
- Improvements:
126
-
127
- - Add S3 performance option to request via urllib2
128
- - Allow md5 calls to work in FIPS environments
129
- - Several Redis Cache enhancements
130
- - Coverage support for caches
131
-
132
- Fixes:
133
-
134
- - Configure image options for caches (fixes erratically white tiles when requesting multiple cached layers)
135
- - Fix for Legends in JSON Format
136
- - Some more minor fixups
137
-
138
-
139
- 1.16.0 2023-04-13
140
- ~~~~~~~~~~~~~~~~~
141
- Breaking:
142
-
143
- - Removal of old unsupported python versions 2.7 and 3.6
144
- - Tested python version range is now 3.7 to 3.11
145
- - Lots of dependency updates
146
-
147
- Improvements:
148
-
149
- - New cache: Azure Blob storage
150
- - Lots of dependency updates
151
- - Support for JSON legends
152
- - Updated layer preview to use latest openlayers
153
- - Official docker images released, documentation updated
154
-
155
- Fixes:
156
-
157
- - Fixed issues with sqlite cache (#629 and #625)
158
- - Dependency correction
159
- - library detection difficulties on some operating systems
160
- - encoding issues with umlauts in featureinfo
161
- - Several minor bugfixes
162
- - mapproxy-util export - derive image format from cache config
163
-
164
149
 
165
150
  Older changes
166
151
  -------------
@@ -513,7 +513,7 @@ Available options:
513
513
  When set to ``true``, requests to S3 ``GetObject`` will be fetched via urllib2 instead of boto, which decreases response times. Defaults to ``false``.
514
514
 
515
515
  .. note::
516
- The hierarchical ``directory_layouts`` can hit limitations of S3 *"if you are routinely processing 100 or more requests per second"*. ``directory_layout: reverse_tms`` can work around this limitation. Please read `S3 Request Rate and Performance Considerations <http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html>`_ for more information on this issue.
516
+ The hierarchical ``directory_layouts`` can hit limitations of AWS S3 if you are routinely processing 3500 or more requests per second. ``directory_layout: reverse_tms`` can work around this limitation. Please read `S3 Request Rate and Performance Considerations <http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html>`_ for more information on this issue.
517
517
 
518
518
  Example
519
519
  -------
@@ -664,13 +664,13 @@ Example:
664
664
 
665
665
  .. code-block:: yaml
666
666
 
667
- caches:
668
- osm_cache:
669
- grids: ['osm_grid']
670
- sources: [OSM]
671
- disable_storage: false
672
- refresh_before:
673
- days: 1
667
+ caches:
668
+ osm_cache:
669
+ grids: ['osm_grid']
670
+ sources: [OSM]
671
+ disable_storage: false
672
+ refresh_before:
673
+ days: 1
674
674
 
675
675
 
676
676
  ``disable_storage``
@@ -685,7 +685,7 @@ even if the there are matching tiles in the cache. See :ref:`seed_only <wms_seed
685
685
  """""""""""""
686
686
 
687
687
  Directory where MapProxy should store tiles for this cache. Uses the value of ``globals.cache.base_dir`` by default. MapProxy will store each cache in a subdirectory named after the cache and the grid SRS (e.g. ``cachename_EPSG1234``).
688
- See :ref:`directory option<cache_file_directory>` on how configure a complete path.
688
+ See :ref:`directory option<cache_file_directory>` on how to configure a complete path.
689
689
 
690
690
  ``cache``
691
691
  """""""""
@@ -1004,7 +1004,7 @@ The following options define how tiles are created and stored. Most options can
1004
1004
  .. _meta_size:
1005
1005
 
1006
1006
  ``meta_size``
1007
- MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 this will result in 1024x1024 requests to the source. Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with ``bulk_meta_tiles``.
1007
+ MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 and 0 ``meta_buffer``, this will result in 1024x1024 requests to the source. (Note that the default value for ``meta_buffer`` is 80.) Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with ``bulk_meta_tiles``.
1008
1008
 
1009
1009
 
1010
1010
  .. _bulk_meta_tiles:
@@ -1017,7 +1017,7 @@ The following options define how tiles are created and stored. Most options can
1017
1017
  ``meta_buffer``
1018
1018
  MapProxy will increase the size of each meta-tile request by this number of
1019
1019
  pixels in each direction. This can solve cases where labels are cut-off at
1020
- the edge of tiles.
1020
+ the edge of tiles. Defaults to 80.
1021
1021
 
1022
1022
  ``base_dir``
1023
1023
  The base directory where all cached tiles will be stored. The path can
@@ -24,6 +24,7 @@ from mapproxy.util.py import memoize
24
24
  from mapproxy.config.spec import validate_options, add_source_to_mapproxy_yaml_spec, add_service_to_mapproxy_yaml_spec
25
25
  from mapproxy.config.validator import validate
26
26
  from mapproxy.config import load_default_config, finish_base_config, defaults
27
+ from mapproxy.service.ows import OWSServer
27
28
 
28
29
  import os
29
30
  import sys
@@ -2063,9 +2064,7 @@ class ServiceConfiguration(ConfigurationBase):
2063
2064
  else:
2064
2065
  services.append(new_service)
2065
2066
 
2066
- if ows_services:
2067
- from mapproxy.service.ows import OWSServer
2068
- services.append(OWSServer(ows_services))
2067
+ services.append(OWSServer(ows_services))
2069
2068
  return services
2070
2069
 
2071
2070
  def tile_layers(self, conf, use_grid_names=False):
@@ -10,7 +10,7 @@
10
10
  # Demo:
11
11
  # http://localhost:8080/demo
12
12
  # WMS:
13
- # capabilities: http://localhost:8080/service?REQUEST=GetCapabilities
13
+ # capabilities: http://localhost:8080/service?REQUEST=GetCapabilities&SERVICE=WMS
14
14
  # WMTS:
15
15
  # capabilities: http://localhost:8080/wmts/1.0.0/WMTSCapabilities.xml
16
16
  # first tile: http://localhost:8080/wmts/osm/webmercator/0/0/0.png
@@ -19,6 +19,9 @@ Service exception handling (WMS exceptions, XML, in_image, etc.).
19
19
  from html import escape
20
20
 
21
21
  from mapproxy.response import Response
22
+ from mapproxy.template import template_loader
23
+ import mapproxy.service
24
+ get_template = template_loader(mapproxy.service.__package__, 'templates')
22
25
 
23
26
 
24
27
  class RequestError(Exception):
@@ -29,13 +32,14 @@ class RequestError(Exception):
29
32
  was valid (e.g. the source server is unreachable
30
33
  """
31
34
 
32
- def __init__(self, message, code=None, request=None, internal=False, status=None):
35
+ def __init__(self, message, code=None, request=None, internal=False, status=None, locator=None):
33
36
  Exception.__init__(self, message)
34
37
  self.msg = message
35
38
  self.code = code
36
39
  self.request = request
37
40
  self.internal = internal
38
41
  self.status = status
42
+ self.locator = locator
39
43
 
40
44
  def render(self):
41
45
  """
@@ -93,7 +97,7 @@ class XMLExceptionHandler(ExceptionHandler):
93
97
  The content_type is sent as defined here.
94
98
  """
95
99
 
96
- status_code = 200
100
+ status_code = 500
97
101
  """
98
102
  The HTTP status code.
99
103
  """
@@ -122,7 +126,11 @@ class XMLExceptionHandler(ExceptionHandler):
122
126
 
123
127
  :type request_error: `RequestError`
124
128
  """
125
- status_code = self.status_codes.get(request_error.code, self.status_code)
129
+ if request_error.status is not None:
130
+ status_code = request_error.status
131
+ else:
132
+ status_code = self.status_codes.get(request_error.code, self.status_code)
133
+
126
134
  # escape &<> in error message (e.g. URL params)
127
135
  msg = escape(request_error.msg)
128
136
  result = self.template.substitute(exception=msg,
@@ -138,6 +146,34 @@ class XMLExceptionHandler(ExceptionHandler):
138
146
  return self.template_func(self.template_file)
139
147
 
140
148
 
149
+ class OWSExceptionHandler(XMLExceptionHandler):
150
+ """
151
+ Exception handler for generic OWS ServiceExceptionReports
152
+ """
153
+ template_file = 'ows_exception.xml'
154
+ template_func = get_template
155
+ mimetype = 'text/xml'
156
+
157
+ def render(self, request_error):
158
+ """
159
+ Render the template of this exception handler. Passes the
160
+ ``request_error.msg``, ``request_error.locator`` and ``request_error.code`` to the template.
161
+
162
+ :type request_error: `RequestError`
163
+ """
164
+ if request_error.status is not None:
165
+ status_code = request_error.status
166
+ else:
167
+ status_code = self.status_codes.get(request_error.code, self.status_code)
168
+
169
+ # escape &<> in error message (e.g. URL params)
170
+ msg = escape(request_error.msg)
171
+ result = self.template.substitute(exception=msg,
172
+ code=request_error.code, locator=request_error.locator)
173
+ return Response(result, mimetype=self.mimetype, content_type=self.content_type,
174
+ status=status_code)
175
+
176
+
141
177
  class PlainExceptionHandler(ExceptionHandler):
142
178
  mimetype = 'text/plain'
143
179
  status_code = 404
@@ -138,7 +138,7 @@ class DemoServer(Server):
138
138
  elif 'wmts_layer' in req.args:
139
139
  demo = self._render_wmts_template('demo/wmts_demo.html', req)
140
140
  elif 'wms_capabilities' in req.args:
141
- internal_url = '%s/service?REQUEST=GetCapabilities' % (req.server_script_url)
141
+ internal_url = '%s/service?REQUEST=GetCapabilities&SERVICE=WMS' % (req.server_script_url)
142
142
  if 'type' in req.args and req.args['type'] == 'external':
143
143
  url = internal_url.replace(req.server_script_url, req.script_url)
144
144
  else:
@@ -146,7 +146,7 @@ class DemoServer(Server):
146
146
  capabilities = urllib2.urlopen(url)
147
147
  demo = self._render_capabilities_template('demo/capabilities_demo.html', capabilities, 'WMS', url)
148
148
  elif 'wmsc_capabilities' in req.args:
149
- internal_url = '%s/service?REQUEST=GetCapabilities&tiled=true' % (req.server_script_url)
149
+ internal_url = '%s/service?REQUEST=GetCapabilities&SERVICE=WMS&tiled=true' % (req.server_script_url)
150
150
  if 'type' in req.args and req.args['type'] == 'external':
151
151
  url = internal_url.replace(req.server_script_url, req.script_url)
152
152
  else:
@@ -16,6 +16,7 @@
16
16
  """
17
17
  Wrapper service handler for all OWS services (/service?).
18
18
  """
19
+ from mapproxy.exception import OWSExceptionHandler, RequestError
19
20
 
20
21
 
21
22
  class OWSServer(object):
@@ -33,7 +34,24 @@ class OWSServer(object):
33
34
  self.services[service.service] = service
34
35
 
35
36
  def handle(self, req):
36
- service = req.args.get('service', 'wms').lower()
37
- assert service in self.services
37
+ service = req.args.get('service')
38
+ wmtver = req.args.get('wmtver')
39
+ if not service:
40
+ if wmtver == '1.0.0':
41
+ # WMS version 1.0.0 did not have a mandatory service parameter
42
+ service = 'wms'
43
+ else:
44
+ req.exception_handler = OWSExceptionHandler()
45
+
46
+ error = RequestError('The service parameter is missing',
47
+ code='MissingParameterValue', request=req, locator='service', status=400)
48
+ return req.exception_handler.render(error)
49
+
50
+ service = service.lower()
51
+ if service not in self.services:
52
+ req.exception_handler = OWSExceptionHandler()
53
+ error = RequestError('The value of the service parameter "' + str(service) + '" is invalid',
54
+ code='InvalidParameterValue', request=req, locator='service', status=400)
55
+ return error.render()
38
56
 
39
57
  return self.services[service].handle(req)
@@ -35,7 +35,7 @@ jscript_openlayers=None
35
35
  {{if 'wms' in services}}
36
36
  <div class="capabilities">
37
37
  <span>Capabilities document</span>
38
- <span><a href="../service?REQUEST=GetCapabilities">(download as xml)</a></span>
38
+ <span><a href="../service?REQUEST=GetCapabilities&SERVICE=WMS">(download as xml)</a></span>
39
39
  <span><a href="../demo/?wms_capabilities">(view as html, internal)</a></span>
40
40
  <span><a href="../demo/?wms_capabilities&type=external">(view as html, external)</a></span>
41
41
  </div>
@@ -83,7 +83,7 @@ jscript_openlayers=None
83
83
  {{if 'wms' in services}}
84
84
  <div class="capabilities">
85
85
  <span>Capabilities document</span>
86
- <span><a href="../service?REQUEST=GetCapabilities&tiled=true">(download as xml)</a></span>
86
+ <span><a href="../service?REQUEST=GetCapabilities&SERVICE=WMS&tiled=true">(download as xml)</a></span>
87
87
  <span><a href="../demo/?wmsc_capabilities">(view as html, internal)</a></span>
88
88
  <span><a href="../demo/?wmsc_capabilities&type=external">(view as html, external)</a></span>
89
89
  </div>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"
5
+ version="1.0.0" xml:lang="en">
6
+ <ows:Exception{{if code is not None}} exceptionCode="{{code}}"{{endif}}
7
+ {{if locator is not None}} locator="{{locator}}"{{endif}}>
8
+ <ows:ExceptionText>{{exception}}</ows:ExceptionText>
9
+ </ows:Exception>
10
+ </ows:ExceptionReport>
@@ -29,6 +29,11 @@ seeds:
29
29
  refresh_before:
30
30
  days: 1
31
31
 
32
+ sqlite_cache:
33
+ caches: [sqlite_cache]
34
+ grids: [GLOBAL_GEODETIC]
35
+ levels: [0]
36
+
32
37
  with_empty_coverage:
33
38
  caches: [mbtile_cache]
34
39
  grids: [GLOBAL_GEODETIC]
@@ -58,7 +63,7 @@ cleanups:
58
63
  levels: [1]
59
64
  remove_all: true
60
65
 
61
- sqlite_cache:
66
+ cleanup_sqlite_cache:
62
67
  caches: [sqlite_cache]
63
68
  grids: [GLOBAL_GEODETIC]
64
69
  levels: [3]
@@ -91,4 +96,4 @@ cleanups:
91
96
  grids: [GLOBAL_GEODETIC]
92
97
  levels: [0]
93
98
  remove_before:
94
- mtime: 'seed.yaml'
99
+ mtime: 'seed.yaml'
@@ -29,8 +29,8 @@ class TestDemo(SysTest):
29
29
  def test_basic(self, app):
30
30
  resp = app.get("/demo/", status=200)
31
31
  assert resp.content_type == "text/html"
32
- assert 'href="../service?REQUEST=GetCapabilities"' in resp
33
- assert 'href="../service?REQUEST=GetCapabilities&tiled=true"' in resp
32
+ assert 'href="../service?REQUEST=GetCapabilities&SERVICE=WMS"' in resp
33
+ assert 'href="../service?REQUEST=GetCapabilities&SERVICE=WMS&tiled=true"' in resp
34
34
  assert 'href="../demo/?wmts_layer=wms_cache&format=jpeg&srs=EPSG%3A900913"' in resp
35
35
  assert 'href="../demo/?tms_layer=wms_cache&format=jpeg&srs=EPSG%3A900913"' in resp
36
36
 
@@ -45,8 +45,8 @@ class TestDemoWithExtraService(SysTest):
45
45
  def test_basic(self, app):
46
46
  resp = app.get("/demo/", status=200)
47
47
  assert resp.content_type == "text/html"
48
- assert 'href="../service?REQUEST=GetCapabilities"' in resp
49
- assert 'href="../service?REQUEST=GetCapabilities&tiled=true"' in resp
48
+ assert 'href="../service?REQUEST=GetCapabilities&SERVICE=WMS"' in resp
49
+ assert 'href="../service?REQUEST=GetCapabilities&SERVICE=WMS&tiled=true"' in resp
50
50
  assert 'href="../demo/?wmts_layer=wms_cache&format=jpeg&srs=EPSG%3A900913"' in resp
51
51
  assert 'href="../demo/?tms_layer=wms_cache&format=jpeg&srs=EPSG%3A900913"' in resp
52
52
  assert '<h2>My extra service</h2>' in resp
@@ -212,7 +212,7 @@ class TestWMSLegendgraphic(SysTest):
212
212
 
213
213
  def test_get_legendgraphic_no_legend_111(self, app):
214
214
  self.common_lg_req_111.params["layer"] = "wms_no_legend"
215
- resp = app.get(self.common_lg_req_111)
215
+ resp = app.get(self.common_lg_req_111, expect_errors=True)
216
216
  assert resp.content_type == "application/vnd.ogc.se_xml"
217
217
  xml = resp.lxml
218
218
  assert (
@@ -227,7 +227,7 @@ class TestWMSLegendgraphic(SysTest):
227
227
  .replace("sld_version", "invalid")
228
228
  .replace("format", "invalid")
229
229
  )
230
- resp = app.get(req)
230
+ resp = app.get(req, expect_errors=True)
231
231
  assert resp.content_type == "application/vnd.ogc.se_xml"
232
232
  xml = resp.lxml
233
233
  assert "missing parameters" in xml.xpath("//ServiceException/text()")[0]
@@ -237,7 +237,7 @@ class TestWMSLegendgraphic(SysTest):
237
237
  req = str(self.common_lg_req_111).replace(
238
238
  "sld_version=1.1.0", "sld_version=1.0.0"
239
239
  )
240
- resp = app.get(req)
240
+ resp = app.get(req, expect_errors=True)
241
241
  assert resp.content_type == "application/vnd.ogc.se_xml"
242
242
  xml = resp.lxml
243
243
  assert "invalid sld_version" in xml.xpath("//ServiceException/text()")[0]
@@ -245,7 +245,7 @@ class TestWMSLegendgraphic(SysTest):
245
245
 
246
246
  def test_get_legendgraphic_no_legend_130(self, app):
247
247
  self.common_lg_req_130.params["layer"] = "wms_no_legend"
248
- resp = app.get(self.common_lg_req_130)
248
+ resp = app.get(self.common_lg_req_130, expect_errors=True)
249
249
  assert resp.content_type == "text/xml"
250
250
  xml = resp.lxml
251
251
  assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
@@ -258,7 +258,7 @@ class TestWMSLegendgraphic(SysTest):
258
258
 
259
259
  def test_get_legendgraphic_missing_params_130(self, app):
260
260
  req = str(self.common_lg_req_130).replace("format", "invalid")
261
- resp = app.get(req)
261
+ resp = app.get(req, expect_errors=True)
262
262
  assert resp.content_type == "text/xml"
263
263
  xml = resp.lxml
264
264
  assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
@@ -271,7 +271,7 @@ class TestWMSLegendgraphic(SysTest):
271
271
  req = str(self.common_lg_req_130).replace(
272
272
  "sld_version=1.1.0", "sld_version=1.0.0"
273
273
  )
274
- resp = app.get(req)
274
+ resp = app.get(req, expect_errors=True)
275
275
  assert resp.content_type == "text/xml"
276
276
  xml = resp.lxml
277
277
  assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
@@ -179,14 +179,14 @@ class TestWMS111(SysTest):
179
179
 
180
180
  with mock_single_req_httpd(("localhost", 42423), req_handler):
181
181
  self.common_map_req.params["bbox"] = "0,0,9,9"
182
- resp = app.get(self.common_map_req)
182
+ resp = app.get(self.common_map_req, expect_errors=True)
183
183
 
184
184
  assert resp.content_type == "application/vnd.ogc.se_xml"
185
185
  is_111_exception(resp.lxml, re_msg="Error from renderd: barf")
186
186
 
187
187
  def test_get_map_connection_error(self, app):
188
188
  self.common_map_req.params["bbox"] = "0,0,9,9"
189
- resp = app.get(self.common_map_req)
189
+ resp = app.get(self.common_map_req, expect_errors=True)
190
190
 
191
191
  assert resp.content_type == "application/vnd.ogc.se_xml"
192
192
  is_111_exception(resp.lxml, re_msg="Error while communicating with renderd:")
@@ -210,7 +210,7 @@ class TestWMS111(SysTest):
210
210
 
211
211
  with mock_single_req_httpd(("localhost", 42423), req_handler):
212
212
  self.common_map_req.params["bbox"] = "0,0,9,9"
213
- resp = app.get(self.common_map_req)
213
+ resp = app.get(self.common_map_req, expect_errors=True)
214
214
 
215
215
  assert resp.content_type == "application/vnd.ogc.se_xml"
216
216
  is_111_exception(
@@ -46,7 +46,7 @@ class TestResponseHeaders(SysTest):
46
46
  assert resp.vary == ('X-Script-Name', 'X-Forwarded-Host', 'X-Forwarded-Proto')
47
47
 
48
48
  def test_no_endpoint(self, app):
49
- resp = app.get('http://localhost/service?')
49
+ resp = app.get('http://localhost/service?', expect_errors=True)
50
50
  assert resp.vary == ('X-Script-Name', 'X-Forwarded-Host', 'X-Forwarded-Proto')
51
51
 
52
52
  def test_image_response(self, app):