@@ -35,11 +35,11 @@ The usual flow of a REST request being handled is as follows
35353 . [ BaseRestHandler] calls into [ BaseRestHandler#prepareRequest] , which ` Rest*Action ` subclasses implement to define the behavior
3636for a particular action. [ prepareRequest] [ BaseRestHandler#prepareRequest ] processes the request parameters to produce a
3737[ RestChannelConsumer] that is ready to execute the action and return the response on a [ RestChannel] .
38- 4 . [ BaseRestHandler] validates that the handler consumed all the request parameters, throwing an exception if any
38+ 4 . ` BaseRestHandler ` validates that the handler consumed all the request parameters, throwing an exception if any
3939were left unconsumed.
40- 5 . [ BaseRestHandler] then supplies the channel to the [ RestChannelConsumer] to begin executing the action. Some handlers, such as the
40+ 5 . ` BaseRestHandler ` then supplies the channel to the [ RestChannelConsumer] to begin executing the action. Some handlers, such as the
4141[ RestBulkAction] , consume the request as a stream of chunks to allow incremental processing of large requests.
42- 6 . The response is written to the [ RestChannel] , either as a [ single payload] [ RestToXContentListener ] or a
42+ 6 . The response is written to the ` RestChannel ` , either as a [ single payload] [ RestToXContentListener ] or a
4343[ stream of chunks] [ RestChunkedToXContentListener ] .
4444
4545### Request interceptor
@@ -104,20 +104,20 @@ are coordinated.
104104
105105### Action registration
106106Elasticsearch contains many [ TransportAction] s, configured statically in [ ActionModule#setupActions] . [ ActionPlugin] s can
107- contribute additional actions via the [ getActions] [ ActionPlugin#getActions ] method. [ TransportAction] s define the request and response
107+ contribute additional actions via the [ getActions] [ ActionPlugin#getActions ] method. ` TransportAction ` s define the request and response
108108types used to invoke the action and the logic for performing the action.
109109
110- [ TransportAction] s that are registered in [ ActionModule#setupActions] (including those supplied by plugins) are locally bound to their
110+ ` TransportAction ` s that are registered in ` ActionModule#setupActions ` (including those supplied by plugins) are locally bound to their
111111[ ActionType] . This map of ` type -> action ` bindings is what [ NodeClient] instances use to locate actions in [ NodeClient#executeLocally] .
112112
113113The actions themselves sometimes dispatch downstream actions to other nodes in the cluster via the transport layer (see
114114[ TransportService#sendRequest] ). To be callable in this way, actions must register themselves with the [ TransportService] by calling
115115[ TransportService#registerRequestHandler] . [ HandledTransportAction] is a common parent class that registers an action with the
116- [ TransportService] .
116+ ` TransportService ` .
117117
118118> [ !NOTE]
119119> The name [ TransportAction] can be misleading, as it suggests they are all invoke-able and invoked via the TCP transport. In fact,
120- > a majority of transport actions are only ever invoked locally via the [ NodeClient] . The two key features of a [ TransportAction] are:
120+ > a majority of transport actions are only ever invoked locally via the [ NodeClient] . The two key features of a ` TransportAction ` are:
121121> - Their constructor parameters are provided via dependency injection (Guice) at runtime rather than direct instantiation.
122122> - They represent a security boundary; we check that the calling user is authorized to call the action they're calling using
123123> [ TransportInterceptor] s, which are described below.
0 commit comments