-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use 3rd party HTTP and XML parsing library? #347
Comments
hmm... for what reason?
personally, if the code for a particular feature is not too large, I prefer to maintain it locally for the following reasons:
I'm not strictly against 3rd party libraries, just expressing my vague feelings about this topic |
Only this one:
Both HTTP parsers are at least as portable as openfortivpn. Just a suggestion though, no necessity to implement that. |
hmm... we would replace (large) parts of http.c. But we would presumably bundle the parser with openfortivpn, and redistribute it together with our source, right? |
Yes, that's what I had in mind. Linux packages might want to link to a library though. |
good point: if the external library provides more detailed error messages. On the other hand one could just print out |
string parsing could also be done by an external library (see #502) |
#575: one more reason to use external files/libraries for everything that is not core functionality, for example HTTP or XML parsing. |
#640 cleans up http_receive(), preparing the way for a possible PicoHTTPParser integration. At this point it's not yet clear if a foreign HTTP parsing library will result in less and more efficient code. The HTTP parsing code is currently specific and goal-oriented, hence quite efficient and simple. Not certain more general 3rd party code will be better. |
Would it make sense to use 3rd party HTTP and XML parsing libraries instead of maintaining our own code?
Examples of 3rd party libraries for HTTP:
picohttpparser.h
andpicohttpparser.c
.For XML:
yxml.h
andyxml.c
.The text was updated successfully, but these errors were encountered: