Code Duplication    Length = 23-23 lines in 3 locations

src/Doctrine/Rest/Response/FractalResponseFactory.php 3 locations

@@ 108-130 (lines=23) @@
105
     *
106
     * @return RestResponse
107
     */
108
    public function show(RestRequest $request, $entity)
109
    {
110
        $headers = [];
111
        $resourceKey = null;
112
113
        if ($entity instanceof JsonApiResource) {
114
            $resourceKey = $entity->getResourceKey();
115
116
            if ($request->isAcceptJsonApi()) {
117
                $headers['Location'] = $this->linkJsonApiResource($entity);
118
                $headers['Content-Type'] = static::JSON_API_CONTENT_TYPE;
119
            }
120
        }
121
122
        return $this->response(
123
            $this->fractal($request)
124
                ->parseFieldsets($request->getFields())
125
                ->createData(new Item($entity, $this->transformer(), $resourceKey ?? null))
126
                ->toArray(),
127
            RestResponse::HTTP_OK,
128
            $headers
129
        );
130
    }
131
132
    /**
133
     * @param RestRequest $request
@@ 138-160 (lines=23) @@
135
     *
136
     * @return RestResponse
137
     */
138
    public function create(RestRequest $request, $entity)
139
    {
140
        $headers = [];
141
        $resourceKey = null;
142
143
        if ($entity instanceof JsonApiResource) {
144
            $resourceKey = $entity->getResourceKey();
145
146
            if ($request->isAcceptJsonApi()) {
147
                $headers['Location'] = $this->linkJsonApiResource($entity);
148
                $headers['Content-Type'] = static::JSON_API_CONTENT_TYPE;
149
            }
150
        }
151
152
        return $this->response(
153
            $this->fractal($request)
154
                ->parseFieldsets($request->getFields())
155
                ->createData(new Item($entity, $this->transformer(), $resourceKey))
156
                ->toArray(),
157
            Response::HTTP_CREATED,
158
            $headers
159
        );
160
    }
161
162
    /**
163
     * @param RestRequest $request
@@ 168-190 (lines=23) @@
165
     *
166
     * @return RestResponse
167
     */
168
    public function update(RestRequest $request, $entity)
169
    {
170
        $headers = [];
171
        $resourceKey = null;
172
173
        if ($entity instanceof JsonApiResource) {
174
            $resourceKey = $entity->getResourceKey();
175
176
            if ($request->isAcceptJsonApi()) {
177
                $headers['Location'] = $this->linkJsonApiResource($entity);
178
                $headers['Content-Type'] = static::JSON_API_CONTENT_TYPE;
179
            }
180
        }
181
182
        return $this->response(
183
            $this->fractal($request)
184
                ->parseFieldsets($request->getFields())
185
                ->createData(new Item($entity, $this->transformer(), $resourceKey))
186
                ->toArray(),
187
            Response::HTTP_OK,
188
            $headers
189
        );
190
    }
191
192
    /**
193
     * @param RestRequest $request