@@ -158,6 +158,32 @@ void parseDimensions(mapcache_context *ctx, ezxml_t node, mapcache_tileset *tile
158158 }
159159 }
160160
161+ dimension_node = ezxml_child (node ,"assembly_threaded_fetching" );
162+ if (dimension_node ) {
163+ if (dimension_node && dimension_node -> txt ) {
164+ if (!strcmp (dimension_node -> txt ,"false" )) {
165+ int maxzoom = INT_MAX ;
166+ char * smaxzoom = (char * )ezxml_attr (dimension_node ,"maxzoom" );;
167+ if (smaxzoom && * smaxzoom ) {
168+ char * endptr ;
169+ maxzoom = (int )strtol (smaxzoom ,& endptr ,10 );
170+ if (* endptr != 0 || maxzoom < 0 ) {
171+ ctx -> set_error (ctx , 400 , "failed to parse assembly_threaded_fetching"
172+ " maxzoom %s (expecting a positive integer)" , smaxzoom );
173+ return ;
174+ }
175+ }
176+ tileset -> assembly_threaded_fetching_maxzoom = maxzoom ;
177+ } else if (strcmp (dimension_node -> txt ,"true" )) {
178+ ctx -> set_error (ctx ,400 ,"failed to parse <assembly_threaded_fetching>"
179+ " (%s), expecting \"true\" or \"false\"" ,dimension_node -> txt );
180+ return ;
181+ }
182+ } else {
183+ tileset -> assembly_threaded_fetching_maxzoom = -1 ;
184+ }
185+ }
186+
161187 /* should we create subdimensions from source if not found in cache.
162188 e.g. if dimension=mosaic returns dimension=val1,val2,val3 should we
163189 query the wms source with dimension=val1 , dimension=val2 and/or
0 commit comments