Grabbing HTTP Header

Monte Goulding monte at sweattechnologies.com
Tue May 6 03:06:01 EDT 2003


Well I don't know what to say. It works perfectly here. Try just:

#!mc
on startUp
  put $QUERY_STRING into tBuffer
  put "Content-Type: text/plain" & cr
  put "Content-Length:" && the length of buffer & cr & cr
  put tBuffer
end startUp

Monte
>
> Thanks, Monte.
>
> I got your post on the Rev list. The engine is in the right place
> and referenced correctly. A simple CGI that doesn't involve
> parsing the incoming headers but just puts up a message works just fine.
>
> I have set the permissions on the script to 755, so that is right as well.
>
> I just can't make the very script that you present below run on
> my system and I'm completely befuddled as to why. One of the
> problems is I can't figure out where on OSX there might be a log
> I can check to see more precisely what's going wrong here.
>
> Arrggggh.
>
> >
> >Hi Dan
> >
> >I'm not sure if you go my post on the Rev list about this. One thing that
> >you need to remember is to make sure the first line points to
> the engine. If
> >the engine is named mc and it's in the same folder as the cgi
> then the first
> >line is: #!mc otherwise it's #!<path to mc><engine name>. It's
> beter to work
> >out the full path then you can put CGIs anywhere and you don't need to
> >change it.
> >
> >I've posted the version of echo.cgi that I use for your reference:
> >
> >#!mc
> ># This MetaTalk script loops over all the environment variables
> ># set by the server when it runs a CGI application printing out
> ># its name and value.
> >on startup
> >  # loop over all of the global variables, getting name and value
> >  repeat for each item i in the globals
> >   put i && "=" && value(i)& return after buffer
> >  end repeat
> >  # write minimal set of HTTP headers to stdout
> >  read from stdin until empty
> >  put it after buffer
> >  replace cr with "<P>" in buffer
> >  put "Content-Type: text/plain" & cr
> >  put "Content-Length:" && the length of buffer & cr & cr
> >  put buffer
> >end startup
> >
> >The other thing is to make sure the file has permissions of 755 so it can
> >execute.
> >
> >Regards
> >
> >Monte
> >>
> >>
> >> This script does not run on my configuration. It gives me the
> >> same useless internal server error all other CGIs that don't
> work give me.
> >>
> >> I am really stumped here. I hope someone can lead me out of the
> >> wilderness.
> >>
> >> >I though the echo.mt cgi has it?
> >> >
> >> >#!/home/mc/mc
> >> ># This MetaTalk script loops over all the environment variables
> >> ># set by the server when it runs a CGI application printing out
> >> ># its name and value.
> >> >on startup
> >> ># loop over all of the global variables, getting name and value
> >> >  repeat for each item i in the globals
> >> >   put i && "=" && value(i) & return after buffer
> >> >  end repeat
> >> >
> >> >  put "" into tContainer
> >> >  if $CONTENT_LENGTH > 0 then
> >> >    put $CONTENT_LENGTH into tLen
> >> >    put "" into tContainer
> >> >    put 0 into tContainerSize
> >> >    repeat
> >> >      read from stdin until empty
> >> >      put it after tContainer
> >> >      add length(it) to tContainerSize
> >> >      if tContainerSize >= tLen then
> >> >        exit repeat
> >> >      end if
> >> >    end repeat
> >> >  end if
> >> >
> >> >  #!
> >> >  put "Content-Type: text/plain" & cr
> >> >  put "Content-Length:" && the length of (buffer &
> tContainer) & cr & cr
> >> >  put buffer & tContainer
> >> >end startup
> >> >
> >> >--
> >> >
> >> >
> >> >_______________________________________________
> >> >metacard mailing list
> >> >metacard at lists.runrev.com
> >> >http://lists.runrev.com/mailman/listinfo/metacard
> >> _______________________________________________
> >> metacard mailing list
> >> metacard at lists.runrev.com
> >> http://lists.runrev.com/mailman/listinfo/metacard
> >>
> >
> >_______________________________________________
> >metacard mailing list
> >metacard at lists.runrev.com
> >http://lists.runrev.com/mailman/listinfo/metacard
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard
>




More information about the metacard mailing list