Comments (12)
Here is a more complete proposition :
// if :
// - we have more than one response
// - response is '!done'
// => problem with legacy version, swap it and retry
// Only tested with ROS pre 6.43, will test with post 6.43 => this could make legacy parameter obsolete ?
if (count($response)>1 && $response[0] === '!done' && !$this->config('legacy'))
{
$this->_config->set('legacy', true);
return $this->login();
}
// Return true if we have only one line from server and this line is !done
return (1 === count($response)) && isset($response[0]) && ($response[0] === '!done');
from routeros-api-php.
@matracine hello! And thank you for this good solution. Maybe you can create Merge Request with your fixes?
from routeros-api-php.
Nice, can you add these few lines to unit tests of Client class?
from routeros-api-php.
Will try, didn't looked your tests, sorry.
from routeros-api-php.
You can use my other project with RouterOS in Docker container for running unit testing on your computer. You just need to have expect, Docker, Docker Compose, next clone the repo and exec docker-compose up -d
, then you need preconfigure virtual routers via preconf.tcl script from root of routeros-api-php:
./preconf.tcl 12223
./preconf.tcl 22223
And after this you can run tests:
./vendor/bin/phpunit
from routeros-api-php.
Great, I was looking how to do that, thanks. On the way....
from routeros-api-php.
Almost ready, but I'm not super "pull request aware" ;)
How do I modify my pull request ?
Can you review my branch and tell me if this is OK for you (added test__constructLegacy2() in ClientTest.php.
I did phpunit --html-coverage to verify my code was tested.
from routeros-api-php.
Small update by me, I've added endless loop detection logic.
Thanks for your help @matracine! Now $this library can automaticaly detect legacy firmware and this is awesome.
from routeros-api-php.
Happy if I helped, this is realy a great lib.
Nothing more to do for me ?
Thanks.
from routeros-api-php.
If you want you may help me with other issue #2 it's about queries in loop, sometimes library returned empty array. The second issue is achieving 100% coverage of code (details is here).
By the way, look at new syntax, you can simplify your code little bit.
In any way thank you for help :)
from routeros-api-php.
Oh, I forgot to say, your edits are available in the 0.8.1 version of the library.
from routeros-api-php.
Hello,
Thanks, saw it for 0.8.1, I already updated my projects :)
I will have a look for #2 and code coverage.
Regards,
from routeros-api-php.
Related Issues (20)
- Got stuck when device is not available
- How to handle response error properly?
- Is there any way to get a user total download upload size of data?
- Wol HOT 2
- /export does not work ROUTEROS7 HOT 3
- done HOT 1
- Stream timed out error HOT 4
- Why not connecting in live server? HOT 2
- windows Socket timeout reached HOT 3
- Unable to establish socket session, some sort of timeout error.
- Random Stream timed out
- Insert Query on RouterOS HOT 2
- Upgrade phpseclib HOT 7
- Why is it that when I try to use local it's fine, whereas when I try to upload it on the cpanel liveserver it can't connect HOT 2
- Can I fill the `host` not with IPv4 but with domain ? like tunnel.web.id ? HOT 2
- remove pppoe active not work HOT 1
- PHP Version Support HOT 2
- Problem executing a query HOT 1
- works with angular or nextjs frontend? HOT 1
- RestAPI HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from routeros-api-php.