| @startuml |
| |
| ' Licensed to the Apache Software Foundation (ASF) under one or more |
| ' contributor license agreements. See the NOTICE file distributed with |
| ' this work for additional information regarding copyright ownership. |
| ' The ASF licenses this file to You under the Apache License, Version 2.0 |
| ' (the "License"); you may not use this file except in compliance with |
| ' the License. You may obtain a copy of the License at |
| ' |
| ' http://www.apache.org/licenses/LICENSE-2.0 |
| ' |
| ' Unless required by applicable law or agreed to in writing, software |
| ' distributed under the License is distributed on an "AS IS" BASIS, |
| ' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ' See the License for the specific language governing permissions and |
| ' limitations under the License. |
| |
| hide footbox |
| skinparam style strictuml |
| |
| participant CoyoteRequest |
| participant CoyoteResponse |
| activate CoyoteAdapter |
| |
| CoyoteAdapter -> Connector ++: createRequest() |
| return |
| |
| CoyoteAdapter -> Connector ++: createResponse() |
| return |
| |
| CoyoteAdapter -> Request ++: setRequest() |
| return |
| CoyoteAdapter -> Response ++: setResponse() |
| return |
| CoyoteAdapter -> CoyoteRequest ++: setNote() |
| return |
| CoyoteAdapter -> CoyoteResponse ++: setNote() |
| return |
| |
| CoyoteAdapter -> CoyoteAdapter ++: postParseRequest() |
| return |
| |
| CoyoteAdapter -> Connector ++: getService() |
| return |
| CoyoteAdapter -> Service ++: getContainer() |
| return |
| CoyoteAdapter -> Engine ++: getPipeline() |
| return |
| CoyoteAdapter -> "StandardPipeline\n(Engine)" ++: getFirst() |
| return |
| CoyoteAdapter -> StandardEngineValve ++: invoke() |
| StandardEngineValve -> Request ++: getHost() |
| return |
| StandardEngineValve -> Host ++: getPipeline() |
| return |
| StandardEngineValve -> "StandardPipeline\n(Host)" ++: getFirst() |
| return |
| StandardEngineValve -> AccessLogValve ++: invoke() |
| AccessLogValve -> AccessLogValve ++: getNext() |
| return |
| AccessLogValve -> ErrorReportValve ++: invoke() |
| ErrorReportValve -> ErrorReportValve ++: getNext() |
| return |
| ErrorReportValve -> StandardHostValve ++: invoke() |
| StandardHostValve -> Request ++: getContext() |
| return |
| StandardHostValve -> Context ++: bind() |
| return |
| StandardHostValve -> Context ++: getPipeline() |
| return |
| StandardHostValve -> "StandardPipeline\n(Context)" ++: getFirst() |
| return |
| StandardHostValve -> StandardContextValve ++: invoke() |
| StandardContextValve -> Request ++: getWrapper() |
| return |
| StandardContextValve -> Wrapper ++: getPipeline() |
| return |
| StandardContextValve -> "StandardPipeline\n(Wrapper)" ++: getFirst() |
| return |
| StandardContextValve -> StandardWrapperValve ++: invoke() |
| StandardWrapperValve -> Wrapper ++: allocate() |
| return |
| StandardWrapperValve -> ApplicationFilterFactory ++: createFilterChain |
| ApplicationFilterFactory --> FilterChain **: |
| return |
| StandardWrapperValve -> FilterChain ++: doFilter() |
| FilterChain -> "Filter\nA" ++: doFilter() |
| "Filter\nA" -> FilterChain ++: doFilter() |
| FilterChain -> "Filter\nB" ++: doFilter() |
| "Filter\nB" -> FilterChain ++: doFilter() |
| FilterChain -> Servlet ++: service() |
| ||| |
| return |
| return |
| return |
| return |
| return |
| return |
| StandardWrapperValve -> FilterChain ++: release() |
| return |
| StandardWrapperValve -> Wrapper ++: deallocate() |
| return |
| return |
| return |
| return |
| return |
| return |
| return |
| @enduml |