src/POData/UriProcessor/QueryProcessor/QueryProcessor.php
/**
     * Process $skip and $top options
     * 
     * @return void
     * 
     * @throws ODataException Throws syntax error if the $skip or $top option
     *                        is specified with non-integer value, throws
     *                        bad request error if the $skip or $top option
     *                        is not applicable for the requested resource. 
     */
Process $skip and $top options

@return void

@throws ODataException Throws syntax error if the $skip or $top option
is specified with non-integer value, throws
bad request error if the $skip or $top option
is not applicable for the requested resource.
Process $skip and $top options @return void @throws ODataException Throws syntax error if the $skip or $top option is specified with non - integer value throws bad request error if the $skip or $top option is not applicable for the requested resource .
private function _processSkipAndTop()
    {
        $value = null;
        if ($this->_readSkipOrTopOption( ODataConstants::HTTPQUERY_STRING_SKIP, $value ) ) {
            $this->request->setSkipCount($value);
        }
        $pageSize = 0;
        $isPagingRequired = $this->_isSSPagingRequired();
        if ($isPagingRequired) {
            $pageSize = $this->request
                ->getTargetResourceSetWrapper()
                ->getResourceSetPageSize(); 
        }
        if ($this->_readSkipOrTopOption(ODataConstants::HTTPQUERY_STRING_TOP, $value) ) {
            $this->request->setTopOptionCount($value);
            if ($isPagingRequired && $pageSize < $value) {
                $this->request->raiseResponseVersion(2, 0);
                $this->request->setTopCount($pageSize);
            } else {
                $this->request->setTopCount($value);
            }
        } else if ($isPagingRequired) {
            $this->request->raiseResponseVersion(2, 0);
            $this->request->setTopCount($pageSize);
        }
        if (!is_null($this->request->getSkipCount())
            || !is_null($this->request->getTopCount())
        ) {
            $this->_checkSetQueryApplicable();
        }
    }
private function _processSkipAndTop ( ) { $ value = null ; if ( $ this -> _readSkipOrTopOption ( ODataConstants :: HTTPQUERY_STRING_SKIP , $ value ) ) { $ this -> request -> setSkipCount ( $ value ) ; } $ pageSize = 0 ; $ isPagingRequired = $ this -> _isSSPagingRequired ( ) ; if ( $ isPagingRequired ) { $ pageSize = $ this -> request -> getTargetResourceSetWrapper ( ) -> getResourceSetPageSize ( ) ; } if ( $ this -> _readSkipOrTopOption ( ODataConstants :: HTTPQUERY_STRING_TOP , $ value ) ) { $ this -> request -> setTopOptionCount ( $ value ) ; if ( $ isPagingRequired && $ pageSize < $ value ) { $ this -> request -> raiseResponseVersion ( 2 , 0 ) ; $ this -> request -> setTopCount ( $ pageSize ) ; } else { $ this -> request -> setTopCount ( $ value ) ; } } else if ( $ isPagingRequired ) { $ this -> request -> raiseResponseVersion ( 2 , 0 ) ; $ this -> request -> setTopCount ( $ pageSize ) ; } if ( ! is_null ( $ this -> request -> getSkipCount ( ) ) || ! is_null ( $ this -> request -> getTopCount ( ) ) ) { $ this -> _checkSetQueryApplicable ( ) ; } }
Process $skip and $top options
Process $skip and $top options
//If $top is greater than or equal to page size,  //we will need a $skiptoken and thus our response  //will be 2.0