Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 07 15:26
    WoojtekP opened #676
  • Dec 07 12:34
    DanielHerchenbach opened #675
  • Dec 07 12:04
    DanielHerchenbach opened #674
  • Dec 07 09:08
    Inujel edited #673
  • Dec 07 09:06
    Inujel opened #673
  • Dec 07 03:24
    YundongGai commented #163
  • Dec 06 05:14
    Vadim6446 opened #672
  • Dec 05 23:51
    kekxv closed #661
  • Dec 05 06:44
    Naamanly edited #75
  • Dec 05 06:42
    Naamanly opened #75
  • Dec 04 00:10
    kekxv commented #295
  • Nov 30 20:08
    DanielHerchenbach commented #666
  • Nov 30 16:44
    DanielHerchenbach commented #666
  • Nov 30 16:03
    DanielHerchenbach edited #671
  • Nov 30 16:02
    DanielHerchenbach edited #671
  • Nov 30 15:58
    DanielHerchenbach opened #671
  • Nov 30 14:33
    DanielHerchenbach opened #670
  • Nov 30 13:11
    DanielHerchenbach opened #669
  • Nov 30 12:53
    DanielHerchenbach opened #668
  • Nov 30 12:21
    DanielHerchenbach commented #666
Emrah Hışır
@emrahhisir
Thanks @oatpp_io_twitter. I customized code in Serializer.cpp.
EnderTheCoder
@EnderTheCoder
Hello everyone. I'm looking for help with oatpp-postgresql model. I did not query with any Float32 param, but an error was given tells that it had problems with Float32 parsing. Do you have any ideas about this?
Here's my QUERY:
image.png
db usage:
image.png
error given by orm framework:
image.png
server=oatpp/1.3.0
code=500
description=Internal Server Error
message=[oatpp::postgresql::mapping::Deserializer::deserializeFloat32()]: Error. Unknown OID.
here's the table:
image.png
I'm pretty sure all data types I used are supported by oatpp-postgresql framework.
EnderTheCoder
@EnderTheCoder
Also, another query with this table worked well. So I don't think it's a problem with the table.
EnderTheCoder
@EnderTheCoder
Never mind, it's a table problem. Sorry for my stupid mistake.
Jan Weßling
@frosk1

Hey,

does the c++ web framework oat++ needs to be serverd via an external webserver over CGI/ FastCGI or does oat++ comes with its own http web server?

oat++
@oatpp_io_twitter
Hello @frosk1 , Oat++ comes with its own http web server
Jan Weßling
@frosk1
thx @oatpp_io_twitter understood. Are there any benchmarks of this http web server vs some other languages like python (gunicorn server, uswgi server, etc.) or go( gin http server) ?
Fabrice Aeschbacher
@fabrice.aeschbacher_gitlab
I'm looking for a way to redirect http requests (port=80) to my oatpp https server listening on port 443. To be able to send a Status::CODE_302 response, the oatpp server should listen on ports 80 and 443. What is the recommended method for doing this ?
oat++
@oatpp_io_twitter

Hey @frosk1 ,

thx @oatpp_io_twitter understood. Are there any benchmarks of this http web server vs some other languages like python (gunicorn server, uswgi server, etc.) or go( gin http server) ?

For oatpp 1.1.0 - https://www.techempower.com/benchmarks/#section=data-r21&test=json
Also you may search on github - there must be some repos with benchmarks like this one https://github.com/memen45/server_benchmark

Hello @fabrice.aeschbacher_gitlab ,

I'm looking for a way to redirect http requests (port=80) to my oatpp https server listening on port 443. To be able to send a Status::CODE_302 response, the oatpp server should listen on ports 80 and 443. What is the recommended method for doing this ?

Yes, you have to listen on both ports.
And you have to add Interceptor on port 80 to redirect to 443 - like here https://github.com/oatpp/website/blob/master/server/main/src/SitePath.hpp#L46

How to setup component - you can find here - https://github.com/oatpp/website/blob/master/server/main/src/AppComponent.hpp

1 reply
bturksonmez
@bturksonmez
Hello all,
image.png
What are the prerequisites for MacOS?
I could not find it in the installation documentation.
Jan Weßling
@frosk1
Thx for the response
Ivansete
@Ivansete

Morning!
In order to reduce the number of warnings (possible loss of data). Is it a good idea to apply the next change in oatpp/core/base/Environment.hpp ?

-typedef intptr_t v_buff_size;
+typedef v_int64 v_buff_size;

cc90202
@cc90202
yanalex66
@yanalex66

Hi Everyone

A client can send a request that requires significant time (minutes) and resources, and then disconnect before the response is ready.

Is there a smart way to detect on I/O level that the connection that initiated the request is closed and pass this information to the request executor?

yanalex66
@yanalex66
I use async controller
oat++
@oatpp_io_twitter

Hello @Ivansete ,

In order to reduce the number of warnings (possible loss of data). Is it a good idea to apply the next change in oatpp/core/base/Environment.hpp ?
-typedef intptr_t v_buff_size;
+typedef v_int64 v_buff_size;

Yes it should be safe.
Are you on 32bit platform?

oat++
@oatpp_io_twitter

Hello @yanalex66 ,

A client can send a request that requires significant time (minutes) and resources, and then disconnect before the response is ready.
Is there a smart way to detect on I/O level that the connection that initiated the request is closed and pass this information to the request executor?

Yes, on I/O level it's possible. However, by that moment oatpp had already delegated processing to Endpoint, and oatpp will not terminate that processing until it's finished.

oat++
@oatpp_io_twitter
You may try using WebSocket instead of HTTP.
In this case you will receive an actual notification that the client dropped.
Since WebSocket is event-based protocol (unlike http) you can receive messages in the middle of your processing.
yanalex66
@yanalex66

Hello @oatpp_io_twitter

Thanks for your response.

I'll ponder on the idea of WebSocket. A good idea actually but my clients are HTTP ones (at least, for now).

Yes, on I/O level it's possible. However, by that moment oatpp had already delegated processing to Endpoint, and oatpp will not terminate that processing until it's finished.

I'll try then to find a way to signal the endpoint that response is not required and stop the request processing.

so to stop the request processing not by the framework but by the mechanism that calculates the response
oat++
@oatpp_io_twitter
:thumbsup:
IO-create
@IO-create
Can any one help me with how to upload and download files by using forms?
IO-create
@IO-create
In Simple API Multipart Upload how to get data of file that is uploaded and store in database
jm130794
@jm130794
Hello,
What is the role of the BUNDLE macro in a controller?
cc90202
@cc90202
Pardon me, but I'm very newbie on websocket. I'm studying the oatpp websocket server and client example. 1) for Server example: how can I connect to the example endpoint ws? If I see the client example I see v3/channel_1/KEY. 2) regarding the client example KEY: how is calculated this key? thanks for any answer.
Emreiris
@Emreiris
Hi, I want to build oatpp with GCC compiler on Windows operation system. I tried to generate a build with CMake via command (cmake .. -G "MinGW Makefiles") and then (make install) but it only created library for linux. Long story in short, how can I compile oatpp with gcc?
oat++
@oatpp_io_twitter

Hello @IO-create

Can any one help me with how to upload and download files by using forms?
In Simple API Multipart Upload how to get data of file that is uploaded and store in database

You can find example code here - https://github.com/oatpp/oatpp/blob/master/changelog/1.3.0.md#better-multipart

1 reply

Hello @jm130794

What is the role of the BUNDLE macro in a controller?

Bundle is used to read bundle data that was set ex.: in RequestInterceptor.
You can find example here:

oat++
@oatpp_io_twitter

Hello @cc90202

Pardon me, but I'm very newbie on websocket. I'm studying the oatpp websocket server and client example. 1) for Server example: how can I connect to the example endpoint ws? If I see the client example I see v3/channel_1/KEY. 2) regarding the client example KEY: how is calculated this key? thanks for any answer.

Client example is just a regular websocket client which connects to the 3rd-party service (https://www.piesocket.com/).
The key there is one provided by that 3rd party service.
If you connect to your own service - then you don't need that key.

oat++
@oatpp_io_twitter

Hello @Emreiris ,

mand (cmake .. -G "MinGW Makefiles") and then (make install) but it only created library for linux. Long story in short, how can I compile oatpp with gcc?

Try to compile oatpp on windows using Visual Studio - just follow easy steps as described here - https://oatpp.io/docs/installation/windows/#requirements

$ git clone https://github.com/oatpp/oatpp.git
$ cd oatpp\
$ MD build
$ cd build\

$ cmake ..
$ cmake --build . --target INSTALL
Hasan Eren Keskin
@herenkeskin_twitter

Hi everyone,

I want to send a file from client to server.
For example, I have a notification report file. And I want to send it to server from my application.
I'm currently using a download file from server in this link:
https://oatpp.io/docs/features/upload-file/
But I want to reverse this.

How can I do that?

API_CALL("POST", "FileUpload", fileUpload, BODY_STRING(String, body));

I can upload file as a string but I don't want to do this. I want to send all file.

oat++
@oatpp_io_twitter

Hello @herenkeskin_twitter ,

Please find my answer here - oatpp/oatpp#632

4 replies
FreddieTheCat
@ReturnHttp418
Hi, does anyone know how to return only a vector of strings instead of dto with SQL as select field_A from table? I tried to use oatpp::Vector<oatpp:String> when getting the query result and return it, but got Invalid result container type error.
Leonardo Rodríguez
@leorl14_twitter
Hello, does oatpp support SSE?
oat++
@oatpp_io_twitter

Hello @ReturnHttp418 ,

Hi, does anyone know how to return only a vector of strings instead of dto with SQL as select field_A from table? I tried to use oatpp::Vector<oatpp:String> when getting the query result and return it, but got Invalid result container type error.

auto dataset = res->fetch<Vector<Vector<String>>>();
auto firstRow = dataset[0];

The fetch method always returns a set of rows. That's why the root container is Vector.
Then, each row you can interpret as a DTO, as a Map/PairList or as a Vector/List/Set.

In this particular case - you have a Vector of rows represented as a Vector<Strings>.

3 replies