Code Duplication    Length = 14-14 lines in 2 locations

src/Rest/RestRequest.php 2 locations

@@ 739-752 (lines=14) @@
736
     * @param   array   $params
737
     * @return  self
738
     */
739
    private function extractFields(array $params)
740
    {
741
        if (false === $this->issetNotEmpty(self::PARAM_FIELDSETS, $params)) {
742
            return $this;
743
        }
744
        $fields = $params[self::PARAM_FIELDSETS];
745
        if (!is_array($fields)) {
746
            throw RestException::invalidQueryParam(self::PARAM_FIELDSETS, 'The field parameter must be an array of entity type keys to fields.');
747
        }
748
        foreach ($fields as $entityType => $string) {
749
            $this->fields[$entityType] = explode(',', $string);
750
        }
751
        return $this;
752
    }
753
754
    /**
755
     * Extracts pagination criteria from an array of query params.
@@ 782-795 (lines=14) @@
779
     * @param   array   $params
780
     * @return  self
781
     */
782
    private function extractFilters(array $params)
783
    {
784
        if (false === $this->issetNotEmpty(self::PARAM_FILTERING, $params)) {
785
            return $this;
786
        }
787
        $filters = $params[self::PARAM_FILTERING];
788
        if (!is_array($filters)) {
789
            throw RestException::invalidQueryParam(self::PARAM_FILTERING, 'The filter parameter must be an array keyed by filter name and value.');
790
        }
791
        foreach ($filters as $key => $value) {
792
            $this->filters[$key] = $value;
793
        }
794
        return $this;
795
    }
796
797
    /**
798
     * Gets query string parameters that this request supports.