Jump to page: 1 2
Thread overview
Can't understand how to do server response with vibed
Nov 28, 2015
Suliman
Nov 28, 2015
Suliman
Nov 28, 2015
Suliman
Nov 28, 2015
anonymous
Nov 28, 2015
Suliman
Nov 28, 2015
Suliman
Nov 28, 2015
Suliman
Nov 28, 2015
Sebastiaan Koppe
Nov 28, 2015
Sebastiaan Koppe
Nov 29, 2015
Suliman
Nov 30, 2015
Sebastiaan Koppe
Nov 28, 2015
Sebastiaan Koppe
Nov 28, 2015
anonymous
Dec 02, 2015
Jack Applegame
November 28, 2015
Could anybody help me to understand how to complete HTTP response with vibed.

I am sending POST request from AngularJS:

$.post("http://127.0.0.1:8080/my", total_result);
where total_result is JSON string: [{"QID":3,"AID":3}, {"SubAID":[4]}, {"MinArea":"10","MaxArea":"90"}]

Handler is look like:

void action(HTTPServerRequest req, HTTPServerResponse res)
{
   // res.statusCode = 201;
}

I know that I can set statusCode like code above, but problem that in Chrome console I am getting:
POST http://127.0.0.1:8080/my 404 (Not Found)
How can I pass to it (from vibed to browser) status code?
November 28, 2015
And the second question. Why I am getting next error after attempt to write to console JSON request:

Error: cannot resolve type for res.writeJsonBody(T)(T data int status = HTTPStatus.OK, string content_type = "application/json; charset=UF-8", bool allow_chunked = false)

void action(HTTPServerRequest req, HTTPServerResponse res)
{
    writeln(res.writeJsonBody);
}
November 28, 2015
On Saturday, 28 November 2015 at 18:46:05 UTC, Suliman wrote:
> And the second question. Why I am getting next error after attempt to write to console JSON request:
>
> Error: cannot resolve type for res.writeJsonBody(T)(T data int status = HTTPStatus.OK, string content_type = "application/json; charset=UF-8", bool allow_chunked = false)
>
> void action(HTTPServerRequest req, HTTPServerResponse res)
> {
>     writeln(res.writeJsonBody);
> }

Eghm, sorry. Not req, but res, but again errr:

void action(HTTPServerRequest req, HTTPServerResponse res)
{
    writeln(req.writeJsonBody);
}

Error: no property 'writeJsonBody' for type 'vibe.http.server.HTTPServerRequest'

But this method are present in docs:

http://vibed.org/api/vibe.http.client/HTTPClientRequest
November 28, 2015
On 28.11.2015 19:46, Suliman wrote:
> And the second question. Why I am getting next error after attempt to
> write to console JSON request:
>
> Error: cannot resolve type for res.writeJsonBody(T)(T data int status =
> HTTPStatus.OK, string content_type = "application/json; charset=UF-8",
> bool allow_chunked = false)
>
> void action(HTTPServerRequest req, HTTPServerResponse res)
> {
>      writeln(res.writeJsonBody);
> }

That's because writeJsonBody's return type is void.

http://vibed.org/api/vibe.http.server/HTTPServerResponse.writeJsonBody
November 28, 2015
On 28.11.2015 19:51, Suliman wrote:
> Eghm, sorry. Not req, but res, but again errr:
>
> void action(HTTPServerRequest req, HTTPServerResponse res)
> {
>      writeln(req.writeJsonBody);
> }
>
> Error: no property 'writeJsonBody' for type
> 'vibe.http.server.HTTPServerRequest'
>
> But this method are present in docs:
>
> http://vibed.org/api/vibe.http.client/HTTPClientRequest

req is not an HTTPClientRequest, it's an HTTPServerRequest.

http://vibed.org/api/vibe.http.server/HTTPServerRequest
November 28, 2015
On Saturday, 28 November 2015 at 18:57:53 UTC, anonymous wrote:
> On 28.11.2015 19:51, Suliman wrote:
>> Eghm, sorry. Not req, but res, but again errr:
>>
>> void action(HTTPServerRequest req, HTTPServerResponse res)
>> {
>>      writeln(req.writeJsonBody);
>> }
>>
>> Error: no property 'writeJsonBody' for type
>> 'vibe.http.server.HTTPServerRequest'
>>
>> But this method are present in docs:
>>
>> http://vibed.org/api/vibe.http.client/HTTPClientRequest
>
> req is not an HTTPClientRequest, it's an HTTPServerRequest.
>
> http://vibed.org/api/vibe.http.server/HTTPServerRequest

What difference between HTTPClientRequest and HTTPRequest ?
November 28, 2015
And also I can't understand difference between HTTPClientRequest and HTTPServerRequest

For example if I am getting request from web-browser what I should use? And why?
November 28, 2015
void action(HTTPServerRequest req, HTTPServerResponse res)
{

}

Here is function what have two call-backs. When it's get request it's work as server, when it's send response it's work like client or I have wrong logic?
November 28, 2015
On Saturday, 28 November 2015 at 18:51:57 UTC, Suliman wrote:
> Eghm, sorry. Not req, but res, but again errr:
>
> void action(HTTPServerRequest req, HTTPServerResponse res)
> {
>     writeln(req.writeJsonBody);
> }

What you want is `req.json`.

Make sure that the call from angular sets the Content-Type header to application/json. But I think that should happen by default.
November 28, 2015
On Saturday, 28 November 2015 at 19:05:59 UTC, Suliman wrote:
> And also I can't understand difference between HTTPClientRequest and HTTPServerRequest

If the application (vibe.d) makes a request, it is the client. If the request is made to your application, it is the server.

In your case your angular app is the client, and your vibe.d app is the server. Therefor, HTTPServer(Request|Response).

« First   ‹ Prev
1 2