Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 02:19
    willfarrell labeled #736
  • Oct 16 12:19
    Kelvijn opened #736
  • Oct 15 14:08
    omer-to opened #735
  • Oct 14 14:33
    onhate commented #473
  • Oct 13 20:43
    joeythomaschaske commented #473
  • Oct 13 20:43
    joeythomaschaske commented #473
  • Oct 13 14:52
    omer-to opened #734
  • Oct 12 19:34
    sidharth-shridhar commented #731
  • Oct 12 19:33
    sidharth-shridhar closed #731
  • Oct 12 19:33
    sidharth-shridhar commented #731
  • Oct 12 15:50

    willfarrell on 2.5.2

    (compare)

  • Oct 12 15:50

    willfarrell on main

    chore: update deps (compare)

  • Oct 12 15:44

    willfarrell on main

    Add missing parameter for reque… Merge pull request #733 from om… (compare)

  • Oct 12 15:44
    willfarrell closed #733
  • Oct 10 19:19
    omer-to opened #733
  • Oct 10 02:51
    willfarrell commented #732
  • Oct 09 22:35
    omer-to commented #732
  • Oct 09 02:15
    willfarrell commented #731
  • Oct 09 02:09
    willfarrell commented #731
  • Oct 09 02:04
    sidharth-shridhar commented #731
Luciano Mammino
@lmammino
Voxel Group has just announced a port of middy to the .net runtime: https://twitter.com/vgaltes/status/1366371605337825284
will Farrell
@willfarrell
Middy passed 100k downloads per week. Crazyness. https://www.npmtrends.com/@middy/core-vs-middy
Oh yeah, v2 beta is now releaseed :)
Luciano Mammino
@lmammino
WOOW great news!
Luciano Mammino
@lmammino
will Farrell
@willfarrell
I was wondering how they allowed "streaming" file changes since lambda doesn't support streamed responses. Not a fan of the pattern their using, I think we could make this much better. I was hoping they would pass in a read stream and we could return a transform stream. I'll for sure use this feature once terraform supports it. I see a lot of value in having a middleware for this to make it way easier.
Luciano Mammino
@lmammino
I had the exact same thought and I was a bit disappointed too :D However, from what i have seen in the api to create a custom lambda executor, I think doing a streaming implementation for Node.js could be feasible. I had a look sometime ago but if I remember correclty in that abstraction you have access to raw http requests, therefore you should be able to access streaming requests and provide streaming responses...
will Farrell
@willfarrell
Seriously, this is possible now? I've been waiting for streaming responses since apig was introduced. We have to add this to middy :P
Luciano Mammino
@lmammino
I might have to experiment a little with creating a non-standard executor
and see if my instincts are actually correct :D
will Farrell
@willfarrell
having stream requests/responses in middy would be a game-changer.
will Farrell
@willfarrell
@/all Looking for some feedback. I'm looking into adding in support for parsing nested aws events, ex: s3 -> sns -> sqs. In this example would you prefer using; a) single middlware for the source event (s3 in this case) that parses the wrapper events (sns/sqs) as well; b) have a parser for each event, and each would need to be applied in the correct order of use; c) single middleware for any event with wrapper event parsing.
They all have their pros/cons. Let me know what you think, which would you prefer to use?
Luciano Mammino
@lmammino
https://nodeweekly.com/issues/384 A middy interview here! <3
will Farrell
@willfarrell
middy is listed on the new ajv website homepage. https://ajv.js.org/
khirodAsurion
@khirodAsurion
Guys , i have a very simple payload via api-0gateway to lambda {"email":"abc@gmail.com"}. and my Schema looks like this .const inputRequestSchema = { type: 'object', required: [ 'email', ], properties: { email: { type: 'string', }, }, additionalProperties: true, }; when i fire up the request , i get error message: 'must have required property email'les/@middy/core/index.js?:80:5) {ex.js?:51:21) Event object failed validation. any help here ? i am using following dependency "@middy/core": "^2.2.0", "@middy/http-error-handler": "^2.2.0", "@middy/http-header-normalizer": "^2.2.0", "@middy/http-json-body-parser": "^2.2.0", "@middy/validator": "^2.2.0". . use of middleware code \ export const handler = middy(handlerLambda) .use(httpHeaderNormalizer()) .use(httpJsonBodyParser()) .use(validator({ inputSchema: inputRequestSchema })) .use(httpErrorHandler());
will Farrell
@willfarrell
@khirodAsurion your input schema doesn't match what API Gateway sends in. Should look something like: { "queryStringParameters":{...}, "body":{...} }. https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway.html
khirodAsurion
@khirodAsurion
@willfarrell thanks for the quick response. but I am only interested to validating body . in that case should I always have to provide other details also in schema ? or is there any other way ? See that I am adding additionalProperties: true, just to make sure other added by APIGateway do not create issue .but still it says message: 'must have required property email'les/@middy/core/index.js?:80:5) {ex.js?:51:21) Event object failed validation
will Farrell
@willfarrell
Your schema only need to include what you want to validate, but must expected the warper object around your request.
khirodAsurion
@khirodAsurion
Thanks @willfarrell . That worked. ! Although I am not sure if i use .use(httpErrorHandler()); I still do not see the real error around the Schema diff thrown as an error . It only says very generic message
will Farrell
@willfarrell
If you want to return errors, you need to handler ajv errors yourself. There isn't a standard everyone follows so we can't do it for you. httpErrorHandler is a catch all if an error hasn't already been handled. It returns a generic message (which can be overridden), because you don't want stack traces returned to the consumer, leading to leaking too much information (security best practice).
khirodAsurion
@khirodAsurion
thanks